(MySQLで修正スクリプトがうまくいかず困っています。
最近MySQLをはじめました、まだ初心者の者です。
MySQLデータベースで、修正用のスクリプトがうまく起動いたしません。自分なりに色々書籍やネット検索致しましたがどこが間違っているのか見出せません。
お手数ですが、どうか指南お願い致します。
リンクから呼び出すスクリプトと削除スクリプトの二点です。
-------------------(始)ここから明細スクリプト(始)---------------
<?php
extract($_GET);
mysql_connect('localhost','root','xxxx');
mysql_select_db('xxxx');
$sql = "select * from xxxx where id = '{$id}'";
$result = mysql_query($sql);
$rows = mysql_num_rows($result);
if($rows == 0){
echo "検索データが見つかりませんでした。";
exit;
}
else {
while($row = mysql_fetch_array($result)){
echo "<h2> " , $row["title"] , "</h2>";
echo "<p><font size=\"-2\">#", $row["id"] ," ●",$row["tourokubi"] ,"</font></p>\n";
echo "<p><div class=\"hon\">", nl2br($row["honbun"]), "</div></p>";
echo "<div class=\"key\">keywords: ", nl2br($row["keyword"]), "</div>";
$row["id"];
echo "</p>";
echo "</p>";
echo "<a href=\"correct.php?id=";
echo $row["id"];
echo "\">[修正する]</a>";
echo "<a href=\"j_sakujo1.php?id=";
echo $row["id"];
echo "\">[削除する]</a><hr>";
}
}
?>
------------------------(終)ここまで(終)------------------------
-------------------(始)ここから削除スクリプト(始)---------------
<?php
extract($_POST);
extract($_GET);
mysql_connect('localhost','root','xxxxx');
mysql_select_db('xxxxx');
//修正レコード
if($honbun<>""){
$sql = "update xxxxx set title='$title', honbun='$honbun', keyword='$keyword' where id = $id";
mysql_query($sql);
echo "レコードの修正が完了しました";
exit;
}
// 修正ルーチン
$sql = "select * from xxxxx where id = $id";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result)){
$tourokubi = $row["tourokubi"];
$title = $row["title"];
$honbun = $row["honbun"];
$keyword = $row["keyword"];
}
echo "<form action=\"correct.php\" method=\"post\" >\n";
echo "<p>・日付<br>\n";
echo $tourokubi, "</p>\n";
echo "<p>・タイトル<br>\n";
echo "<input type=\"text\" name=\"title\" value=\"",$title, "\"size=60 ></p>\n";
echo "<p>・本文<br>\n";
echo "<textarea name=\"honbun\" rows=20 cols=70 >\n";
echo $honbun;
echo "</textarea></p>\n";
echo "<p>・キーワード(スペース区切りで列記)<br>\n";
echo "<textarea name=\"keyword\" rows=2 cols=70 >\n";
echo $keyword;
echo "</textarea></p>\n";
echo "<p><input type=\"hidden\" name=\"i\" value=\"", $i, "\"> ";
echo "<p><input type=\"submit\" value=\"修正\"> ";
echo "<input type=\"reset\" value=\"クリア\"></p>\n";
echo "</form>\n";
?>
-------------------(終)ここまで(終)----------------------
修正ボタンを押すと、修正しました。と表示されるのですが、
なぜかデータは更新されておりません。
自分なりに調べましたが、原因がどうしても分かりません。
ご指南よろしくお願い致します。
お礼
php504様 おはよう御座います。お世話になっております。 朝早くからの回答を有難う御座います。 これから外出せねばならず、今内容を確認する事は出来ませんが、追って必ずご報告させて頂きますので、引き続きのご指導を宜しくお願い出来ればと思います。 取り急ぎお礼まで・・。有難う御座いました。
補足
おはよう御座います。補足欄から失礼します。 あれからお教えいただいたコードを基に、手持ちの本やネットにて調べながら試行錯誤を繰り返しておりますが、上手く行く事が出来ません。 質問の仕方が悪かったのでしょうが、検索結果表示は、この「教えてgoo」のように質問のみを表示させ、削除する際、この質問と属する回答を削除したいと考え、その質問に属する値(回答は質問と同じ数値をid_keyとして登録してある)として、id_keyを基に削除させたいと考えています。 当然、そのid_keyという値は、回答がなく質問だけ(結果id_keyは1つだけ)のものもあれば、多くの回答があり、その回答の数だけid_keyが存在する事になります。 ・・・イメージ的に、この「教えてgoo」にてお話しすると、カテゴリー毎に表示した質問一覧上に、チェックボタンを設置し、そのチェックをした質問およびその回答を全て削除したいと、考えております。 丸投げのつもりは一切なく、本投函後も自分でも引き続き行っていきますが、ご指導賜れば幸いに思っております。以上、宜しくお願い申し上げます。