PHP implements the five basic operations of data display, adding, modifying, deleting and querying text databases
I use a guestbook program as an example to explain how PHP implements the five basic operations of data display, addition, modification, deletion, and query on text databases.
This text database has 10 fields in total: customer IP, speaking time, customer name, customer EMAIL, customer homepage address, message emoticon picture name, customer QQ, customer image picture, message content, and administrator reply content.
1. Add data program segments.
$date=date("Y-m-d H:i:s");//Get the system time
$ip = $HTTP_SERVER_VARS[REMOTE_ADDR]; //Get the speaking IP address
$text=encode($gb_text);//Remove the spaces after the message content.
$fp=fopen("gb.dat","a");//Open the gb.dat text file in write-only mode, with the file pointer pointing to the end of the file.
$str =$ip."|".$date."|".$gb_name."|".$gb_email."|".$gb_home."|".$face."|".$gb_qq."| ".$head."|".$text."|".$reply."
";//Assign the data of all messages to the variable $str. The purpose of "|" is to use it as the data interval symbol when dividing data in the future.
fwrite($fp,$str);//Write data to file
fclose($fp);//Close the file
showmessage("Message successful!","index.php","3");//The message is successful and will automatically return to the main interface after 3 seconds.
Among them, $gb_name, $gb_email, $gb_home, $face, $gb_qq, $head, $gb_text, and $reply are the data passed from the speech form.
2. Data display program segment
if (file_exists("gb.dat")){//Check whether the file exists
$array=file("gb.dat");//Read the entire contents of the file into the array $array
$arr=array_reverse($array);//Reverse the data in $array (that is, the last row is the first row, and so on) and read into each unit of array $arr ($arr[0].. .).
$num=count($array);//Get the number of information in the array $array (one line per information)
if ($num>0){//If the number of information is greater than zero (that is, the text database is not empty)
$total=ceil($num/$pagesize);//Calculate the total number of pages (take the largest integer, that is, round up any decimal point, $pagesize is the preset number of information displayed on each page)
if($page<1){//If the current page number is less than 1
$page=1;//Then the assigned value is 1
}
$number=($page-1)*$pagesize;//Calculate the digital number of the first message currently displayed (the digital number starts from zero, mainly to achieve the purpose of corresponding to the array unit number)
for($i=0;$i<=$pagesize-1;$i++){//Enter the loop
$row=explode("|",$arr[$number]);//Use "|" as the delimiter to split the data of every $number unit in the array $arr, and assign these data to the array $rom
list($ip,$datetime,$name,$email,$home,$face,$qq,$head,$text,$reply)=$row;//Assign the unit data in the array $row to brackets in order Variables in
?
>//Display customer image picture
Nickname【 echo $name ?>】
//Display customer name
Published on: echo $datetime ?>//Display the time when the message was published
>//Display customer message emoticon pictures
echo $name ?>Say: echo $text; ?>//Display the content of customer messages
echo $reply ?>//Display reply content
" target="_blank">Visit echo $name ?>'s homepage// Hyperlink to customer homepage
Send a message to echo $name ?>//Connect the customer’s E-MAIL to the network manager u home www. bitscn.net
echo $name ?>’s QQ number is echo $qq ?>//Display the customer’s QQ number
The IP address of echo $name ?> is echo $ip ?>" //Display the customer’s IP address
reply//Connection statement for message reply
Delete//Message deletion statement (use the customer message time $datetime as the deletion identifier)
if ($number == $num-1)//If the unit number of the array is equal to the total number of messages minus one (because the unit number starts with zero, this means this is the last message)
{
break;//Jump out of the loop
}
$number = $number + 1; //Add 1 to the array unit number
}//Loop end character
}
if ($page <> 1)//If the current page number is not equal to 1
{
$back = $page - 1;//Decrease the current page number by 1, and assign this value to the variable $back
echo "First page";//Display the link to the first page
echo " Previous page" ;The current page number is equal to $back and its link is displayed
}
if ($page <> $total)//If the current page number is not equal to the total page number (the last page number)
{
$next = $page + 1; //Add 1 to the current page number and assign it to the variable $next
echo " Next page" ;//Show the next page link
echo " Last page"; Show last page link
}
echo "Number of pages: $page / $total";//Display the current page number and display the last page number
echo "There are $num messages in total";//Display message number information
}
else {
echo "