PHP は、データ表示、テキスト データベースの追加、変更、削除、クエリの 5 つの基本操作を実装します
ゲストブック プログラムを例として、テキスト データベースに対するデータの表示、追加、変更、削除、クエリの 5 つの基本操作を PHP がどのように実装するかを説明します。
このテキストデータベースには、顧客IP、発言時間、顧客名、顧客EMAIL、顧客ホームページアドレス、メッセージ絵文字画像名、顧客QQ、顧客イメージ画像、メッセージ内容、管理者返信内容の合計10フィールドが含まれています。
1. データプログラムセグメントを追加します。
$date=date("Y-m-d H:i:s");//システム時刻を取得します
$ip = $HTTP_SERVER_VARS[REMOTE_ADDR] //スピーカーのIPアドレスを取得します
;
$text=encode($gb_text);//メッセージ内容の後のスペースを削除します。
$fp=fopen("gb.dat","a");// ファイル ポインターがファイルの末尾を指すようにして、書き込み専用モードで gb.dat テキスト ファイルを開きます。
$str =$ip."|".$date."|".$gb_name."|".$gb_email."|".$gb_home."|".$face."|".$gb_qq."| ".$head."|".$text."|".$reply."
";//すべてのメッセージのデータを変数 $str に代入します。"|" の目的は、将来データを分割するときにデータ間隔の記号として使用することです。
fwrite($fp,$str);//データをファイルに書き込みます
fclose($fp);//ファイルを閉じます
showmessage("Leave a message success!","index.php","3");//メッセージは成功し、3 秒後に自動的にメイン インターフェイスに戻ります。
このうち、$gb_name、$gb_email、$gb_home、$face、$gb_qq、$head、$gb_text、$reply は音声フォームから渡されるデータです。
2. データ表示プログラムセグメント
if (file_exists("gb.dat")){//ファイルが存在するかどうかを確認します
$array=file("gb.dat");//ファイルの内容全体を配列 $array に読み込みます
$arr=array_reverse($array);//$array 内のデータを反転し (つまり、最後の行が最初の行など)、配列 $arr ($arr[0]..) の各ユニットに読み込みます。 。)。
$num=count($array);//配列 $array 内の情報の数を取得します (情報ごとに 1 行)
if ($num>0){//情報の数が 0 より大きい場合 (つまり、テキスト データベースが空ではない場合)
$total=ceil($num/$pagesize);// 総ページ数を計算します (最大の整数を取得します。つまり、小数点以下は切り上げます。$pagesize は、各ページに表示される情報の事前設定された数です)
if($page<1){//現在のページ番号が 1 未満の場合
$page=1;//割り当てられた値は 1 です
}
$number=($page-1)*$pagesize;//現在表示されている最初のメッセージのデジタル番号を計算します (デジタル番号はゼロから始まり、主にアレイユニット番号に対応する目的を達成するためです)
for($i=0;$i<=$pagesize-1;$i++){//ループに入る
$row=explode("|",$arr[$number]);//区切り文字として「|」を使用して、配列 $arr 内の $number 単位のデータを分割し、これらのデータを配列 $rom に割り当てます
list($ip,$datetime,$name,$email,$home,$face,$qq,$head,$text,$reply)=$row;//配列 $row の単位データを括弧に代入します
の変数を注文する
?
//顧客の画像を表示します
ニックネーム【 echo $name ?>]
//顧客名を表示します
公開日: echo $datetime ?>//メッセージが投稿された時刻を表示します
>//顧客メッセージの絵文字画像を表示します
echo $name ?>Say: echo $text ?>//顧客メッセージの内容を表示します
echo $reply ?>// 返信内容を表示します
" target="_blank">アクセス echo $name ?> のホームページ// ハイパーリンクお客様ホームページへ
メッセージを echo $name ?>//顧客の電子メール接続ネットワーク管理者、自宅 www. bitscn.net
echo $name ?> の QQ 番号は echo $qq ?>// 顧客の QQ 番号を表示します
echo $name ?> の IP アドレスは echo $ip ?> " // 顧客の IP アドレスを表示します
reply//メッセージ返信用の接続ステートメント
Delete//メッセージ削除ステートメント (顧客メッセージ時刻 $datetime を削除識別子として使用します)
if ($number == $num-1)//配列のユニット番号がメッセージの総数から 1 を引いたものに等しい場合 (ユニット番号は 0 で始まるため、これが最後のメッセージであることを意味します)
{
Break;//ループから抜け出す
}
$number = $number + 1 //配列ユニット番号に 1 を加算します
;
}//ループ終了文字
}
if ($page <> 1)//現在のページ番号が 1 に等しくない場合
{
$back = $page - 1;//現在のページ番号を 1 減らして、この値を変数 $back に代入します
echo "最初のページ";//最初のページへのリンクを表示します
echo " 前のページ" ;現在のページのデジタル番号は $back に等しく、その接続が表示されます
}
if ($page <> $total)//現在のページ番号が総ページ番号 (最後のページ番号) と等しくない場合
{
$next = $page + 1; //現在のページ番号に 1 を加算し、変数 $next に代入します
echo " 次のページ ;//次のページのリンクを表示します
echo " 最後のページ"; 最後のページのリンクを表示します
}
echo "ページ数: $page / $total";// 現在のページ番号を表示し、最後のページ番号を表示します
echo "合計 $num 個のメッセージがあります";// メッセージ番号情報を表示します
}
他に{
echo "