PHP と MySQL 入門 (13)

WBOY
WBOYオリジナル
2016-06-23 14:30:04837ブラウズ

チャレンジ

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

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

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

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

すでに答えを持っていると感じる場合、または単に解決策を知りたい場合は、次のページを確認してください。幸運を!

結論

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

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

課題の解決策

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

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

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

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

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

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


...

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

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





else:
// データベースサーバーに接続します
$dbcnx = @mysql_connect(
"localhost", "root" , "mypasswd");
if (!$dbcnx) {
echo( "

現時点では " .
" データベース サーバーに接続できません。

" );
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("

あなたのジョークが追加されました。

");
} else {
echo("

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

");
}
}
// ジョークが削除された場合、
// データベースから削除します。
if (isset($deletejoke)) {
$sql = "ジョークから削除 " .
"WHERE ID=$deletejoke";
if (mysql_query($sql)) {
echo ("

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

");
} else {
echo("

ジョーク削除エラー: " .
mysql_error() . "

");
}
}
echo("

データベース内のすべてのジョーク " .
" は次のとおりです:

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

クエリ実行エラー: " .
mysql_error() . "< ;/P>");
exit();
}
// 各ジョークのテキストを段落に表示します
// それぞれの横に「このジョークを削除」リンクを付けます。
while ( $row = mysql_fetch_array($ result) ) {
$jokeid = $row["ID"];
$joketext = $row["JokeText"];
echo("

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

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

gt;" .
"ジョークを追加!

");
endif;
? >

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。