ホームページ > php教程 > php手册 > PHP と MySQL を使用してデータベース主導の Web サイトを構築する (7)

PHP と MySQL を使用してデータベース主導の Web サイトを構築する (7)

WBOY
リリース: 2016-06-21 09:10:50
オリジナル
1090 人が閲覧しました

mysql|データ|データベース

これで、ユーザーがジョークを入力してデータベースに追加できるプログラム コードが完成しました。あとは、すでに用意されているジョーク表示ページにそれを追加するだけです。大多数のユーザーはジョークを見たいだけなので、ユーザーが新しいジョークを追加したいと示さない限り、ページに大きな変更を加えたくありません。このため、アプリケーションは多機能ページである必要があります。以下はプログラムのコードです:



...

// ユーザーがジョークを追加したい場合
if (isset($addjoke)) :
? >


ここにジョークを入力してください:






else :

// データベース サーバーに接続します
$ dbcnx = @Mysql_Connect ("Localhost",
"root", "MyPasswd"); 現時点では " .
" データベース サーバーに接続できます。< ;/P>" );
exit();
}

// ジョーク データベースを選択します
if (! @mysql_select_db("jokes") ) {
echo ( "

ジョークが見つかりません " .
" "現時点ではデータベースです。

" );
exit();
}

// ジョークが送信されている場合は、
// ジョークをデータベースに追加します。
if ("SUBMIT" = = $submitjoke) {
$sql = "INSERT INTO Jokes SET " .
"JokeText='$joketext', " .
"JokeDate=CURDATE()";
if (mysql_query ($ SQL)) {
echo (" & lt; p & gt; あなたの仕事: ".
mysql_error() . "

");
}
}
echo("

データベース内:

");
すべてのジョブのテキスト
$ Result = MySQL_Query (
"ジョークテキストからジョークテキストを選択"); ".L mysql_error ()." & Lt ;/P>") ;
exit();
}
// 各ジョークのテキストを段落に表示します
while ( $row = mysql_fetch_array($result) ) {
echo("

" . $ row["JokeText"] . "

");
}
// このリンクをクリックすると、このページが読み込まれます
// ジョーク送信フォームが表示されます。
echo("

< A HREF='$PHP_SELF ?addjoke=1'>" .
"ジョークを追加!

");
endif;
?>

< /HTML>



PHP コードがあまり含まれていない 1 つのファイルができたので、MySQL データベース内のジョークを表示し、MySQL データベースにジョークを追加できます。

課題

宿題として、この問題を解決できるかどうかを確認してください。ページに表示されるすべてのジョークの後に「このジョークを削除」というハイパーリンクを配置します。このリンクをクリックすると、データベースからジョークが削除されます。変更されたジョークのリストを表示します。ここにいくつかのヒントがあります:

すべての機能を 1 つの多機能ページで完了できます。

第2章で学習したSQL DELETEコマンドを使用する必要があります。

これは重要な質問です。特定のデータベースを削除するには、それを一意に識別できる必要があります。 Jokes テーブルの ID によってこの機能を実現できます。削除するジョークの ID をジョーク削除リクエストに渡す必要があります。この値を「このジョークを削除」接続のクエリ文字列に入れるのが適切です。

すでに答えがあると思われる場合、または単に解決策を知りたい場合は、次のページに進んでください。幸運を!

結論

この章では、MySQL データベース サービスとのインターフェイスを実装するために使用されるいくつかの新しい PHP 関数を学びました。これらの機能を使用して、私たちはデータベース内のジョークをオンラインで公開し、訪問者が独自のジョークを追加できるようにする最初のデータベース主導型 Web サイトを構築しました。

第 5 章では、MySQL コマンド ラインに戻り、リレーショナル データベースの原則とその他のより高度な SQL クエリを使用して、より複雑な情報を記述し、訪問者が特別な権限を使用して独自のジョークを追加できるようにする方法を学びます。

課題の解決策

これが、上で提案した「宿題」の解決策です。各ジョークの後に「このジョークを削除」リンクを追加するには、次の変更を加える必要があります:

以前は、ページの下部にある「ジョークを追加!」リンクに This 変数を介して $addjoke 変数を渡していました。は、通常のジョークのリストを表示する代わりに、ジョークを入力するためのフォームを表示するようにスクリプトに指示します。同様に、「このジョークを削除」接続で $deletejoke 変数を渡し、ジョークを削除することを示します。

各ジョークの JokeText 列を取得する際に、ID 列の値も取得するので、データベース内の各ジョークに関連付けられた ID を取得します。

削除するジョークのID値を$deletejoke変数に代入します。これは、データベースから取得した ID 値を各ジョークの「このジョークを削除」接続に挿入することによって実現されます。

if ステートメントを使用して、このページが読み込まれるときに $deletejoke に (isset 関数を使用して) 値が割り当てられている場合、この値 (削除するジョークの ID) を SQLDELETE ステートメントで使用して、指定されたジョーク。

完全なソースコードは次のとおりです:



...

// ユーザーがジョークを追加したい場合
if (isset($addjoke)) :
?>


ここにジョークを入力してください:

<テキストエリア名="ジョークテキスト" ROWS=10 COLS=40 ラップ>



else:

// データベースサーバーに接続します
$dbcnx = @mysql_connect(
"localhost", "root", "mypasswd");
if (!$dbcnx) {
echo( "& lt;P> ; 現時点では「 .
」データベース サーバーに接続できません。{
echo( "

現時点ではジョーク「 .
」データベースを見つけることができません。/ データベースに追加してください。
if ("送信" == $submitjoke) {
      $sql = "INSERT INTO Jokes SET " .
"JokeText='$joketext', " .
"JokeDate=CURDATE()";
if (mysql_query($sql)) {
echo( 「

あなたの冗談ですよ」

");
} else {
echo("

送信されたジョークの追加エラー: " .
mysql_error() . "

");
}
}

// ジョークが削除されている場合は、
// データベースから削除します。
if (isset($deletejoke)) {
$sql = "DELETE FROM Jokes " .
"WHERE ID=$deletejoke";
もし(mysql_query($sql)) {
echo("

ジョークは削除されました。

");
} else {
echo("

ジョークの削除中にエラーが発生しました: " .
ql_error () . "

");
}
}
echo("

ここにデータベース内のすべてのジョーク " .
" があります:

");
//すべてのジョークの ID とテキスト
$result = mysql_query(
"SELECT ID, JokeText FROM Jokes");
if (!$result) {
echo("

クエリ実行エラー: " .
mysql_error() 。 "

");
exit();
}
// 各ジョークのテキストを段落に表示します
// 各ジョークの横に「このジョークを削除」リンクを付けます。
while ( $row = mysql_fetch_array ($result) ) {
$jokeid = $row["ID"];
$joketext = $row["JokeText"];
echo("

$joketext " .
"" .
"このジョークを削除

");
}
// このリンクをクリックすると、このページが読み込まれます
// ジョークの投稿が含まれますフォームが表示されました。
echo("

" .
"ジョークを追加!

");
endif;
?>






関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート