Home  >  Article  >  Backend Development  >  PHP_MySQL Tutorial-The second day while loop and database operation Page 1/2_PHP Tutorial

PHP_MySQL Tutorial-The second day while loop and database operation Page 1/2_PHP Tutorial

WBOY
WBOYOriginal
2016-07-21 15:56:09921browse

The first page while loop
In this lesson, we will continue to go deeper and use PHP and MySQL to write some simple and useful pages. We'll start with the database we created yesterday, showing the data in the database, but polishing it up a bit.
First, we use the following code to query the database content.

Copy code The code is as follows:



$db = mysql_connect("localhost", "root");
mysql_select_db("mydb",$db);
$result = mysql_query("SELECT * FROM employees",$db);
echo "n"; ;
while ($myrow = mysql_fetch_row($result)) {
printf("< /tr>n", $myrow[1], $myrow[2], $myrow[3]);
}
echo "
%s %s%s
n";
?>



You may have noticed that we have added some new things to this program. The most obvious is the while() loop. This loop means that as long as there are still readable records in the database (using the mysql_fetch_row() function), then assign the record to the variable $myrow, and then execute the instructions within the curly brackets ({}). Take a closer look here, this part is more important.
We should pay attention to the mysql_fetch_row() function. There is a little problem here, it returns an array, and a field in it must be accessed by array subscript. The first field is indexed 0, the second is 1, and so on. This is simply too cumbersome to do when executing certain complex queries.
Now let’s take a closer look at the loop process. We have already seen the first few lines of the program in the example in Lesson 1. Then, in the while() loop, we read a record from the query result and assign the record to the array $myrow. Next, we use the printf function to display the contents of the data on the screen. Subsequently, the loop is executed repeatedly, reading the next record and assigning it to $myrow. This continues until all records have been read.
One benefit of using a while() loop is that if the database query does not return any records, you will not receive an error message. When the loop statement is first executed, the loop condition is not satisfied, no data will be assigned to $myrow, and the program will run directly.
But if the query returns no data, how do we let the user know this? Maybe we should provide some relevant information to users. It can be done, and let’s see how. >>

Second page if-else
Please see the program below.

Copy code The code is as follows:


$db = mysql_connect("localhost", "root");
mysql_select_db("mydb",$db);
$result = mysql_query("SELECT * FROM employees",$db);
if ($myrow = mysql_fetch_array($result)) {
echo "n";
echo "< td>Addressn";
do {
printf("
Name
%s %s%s< /tr>n", $myrow["first"],
$myrow["last"], $myrow["address"]);
} while ($myrow = mysql_fetch_array($result));
echo "
n";
} else {
echo "Sorry, no record found!";
}

?>





This program contains a lot of new content, but it is quite simple. The first is the mysql_fetch_array() function. This function is very similar to mysql_fetch_row(), with one difference: when using this function, we can access the fields it returns through the field name instead of the array subscript, such as $myrow["first"]. This way we can save a lot of effort. In addition, do/while loops and if-else conditional statements are added to the program.
The meaning of the if-else conditional statement is that if we successfully assign a record to the $myrow variable, then continue; otherwise, jump to the else part and execute the instructions there.
The do/while loop is a variation of the while() loop we used on the previous page. The reason why we need to use do/while is: in the original if statement, we have assigned the first record returned by the query to the variable $myrow. If we execute a general while loop at this time (for example, while ($myrow = mysql_fetch_row($result))), then we will assign the second record to $myrow, and the first record will be flushed. But The do/while loop allows us to execute the loop body once and then determine the loop condition. Therefore, we will not accidentally miss the first record.
Finally, if the query result does not have any records, the program will. Execute those statements contained in the else{} part. If you want to see the execution of this part of the program, you can change the SQL statement to SELECT * FROM employees WHERE id=6, or change it to other forms so that there is no query result. Record.
Let’s expand the if-else code to make the page content richer.

The first program script on page 3
We just learned about loops. statement, below we will see how to use it in a more practical example, but before that, you should know how to deal with web forms, query parameter strings, and the GET method and POST method of the form we just had. The article introduces this part. If you are not familiar with this part, you can read that article
Now, we have to deal with the query parameter string. As you know, there are three ways to write the parameter content. into the query parameter string. The first is to use the GET method in the form; the second is to directly add the query parameters when entering the URL in the browser's address bar; the third is to embed the query parameter string into the superstructure of the web page. In the link, make the content of the hyperlink look like this: We are going to use the last method now. Let's start by querying our database and listing employee names. Most of the content is already familiar to us. > The code is as follows:

$db = mysql_connect("localhost", "root"); mysql_select_db("mydb",$db);
$result = mysql_query("SELECT * FROM employees",$db);
if ($myrow = mysql_fetch_array($result)) {
do {
printf("
%s %s
n",
$PATH_INFO, $myrow["id"] , $myrow["first"], $myrow["last"]);
} while ($myrow = mysql_fetch_array($result));
} else {
echo "Sorry, no record found ! "; 
} 
?> 


Nothing special here, just the printf function is a little different. So let’s take a closer look.
The first thing to note is that all quotes are preceded by a backslash. This backslash tells PHP to display the following characters directly instead of treating them as program code. Also pay attention to the usage of the variable $PATH_INFO. This variable is accessible in all programs and is used to save the name and directory location of the program itself. The reason why we use it is because we need to call the program itself in the page. Using $PATH_INFO, we can ensure that even if the program is moved to other directories or even on other machines, we can ensure that the program is called correctly.
As I just mentioned, the web page generated by the program contains hyperlinks that call the program itself again. However, when called again, some query parameters will be added.
When PHP sees that the query parameter string contains a pair format such as "name=value", it will do some special processing. It will automatically generate a variable with the same name and value as those given in the query parameter string. This function allows us to determine whether the program is executed for the first time or the second time in the program. All we have to do is ask PHP if the $id variable exists.
When I know the answer to this question, I can display some different results the second time I call the program. Please see:
Copy code The code is as follows:



< ;?php
$db = mysql_connect("localhost", "root");
mysql_select_db("mydb",$db);
// display individual record
// Display the content of a single record
if ($id) {
$result = mysql_query("SELECT * FROM employees WHERE id=$id",$db);
$myrow = mysql_fetch_array($result);
printf( "First name: %sn
", $myrow["first"]);
printf("Last name: %sn
", $myrow["last"]);
printf("Address : %sn
", $myrow["address"]);
printf("Position: %sn
", $myrow["position"]);
} else {
// show employee list
// Show employee list
$result = mysql_query("SELECT * FROM employees",$db);
if ($myrow = mysql_fetch_array($result)) {
// display list if there are records to display
// If there are records, display the list
do {
printf("% s %s
n", $PATH_INFO,
$myrow["id"], $myrow["first"], $myrow["last"]);
} while ($myrow = mysql_fetch_array($result));
} else {
// no records to display
// No records to display
echo "Sorry, no records found! ";                                                                                              Comments are added to explain what is going on. You can use // to add single-line comments, or use /* and */ to enclose large paragraphs of comments.
Here we have learned the first real comment. Useful PHP/MySQL script! Now, we want to see how to add the web table and send data to the database.

Page 4: Sending data to the server
Now we read the data from the database. There is not much difficulty anymore. But how to send data to the database? In fact, this is not a problem with PHP.
First choice, we create a web page with a simple table. >Copy code
The code is as follows:




Name:< ;input type="Text" name="first">
Last name:
Address:
Position:





http://www.bkjia.com/PHPjc/318118.html

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/318118.htmlTechArticleFirst page of while loop In this lesson, we will continue to go deeper and use PHP and MySQL to write Come up with some simple yet useful pages. Let's start with the database we created yesterday, showing the library...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn