一覧画面に更新ボタンを作成しました
更新ボタンを押すとkoushin_input.phpにデータを渡し入力フォームを表示され番号、氏名、住所が選択されたデータが表示されるようにしたいのでが更新ボタンを押しても下記のように出ます
string(64) "SELECT `番号`,`氏名`,`住所` FROM tbl_test where `番号`=0" bool(false) データが削除されています
ソースコードはtop.php
一覧画面です
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>一覧画面</title>
</head>
<body>
<BLOCKQUOTE>
<BR>一覧画面<BR><BR>
<?php
$con=mysqli_connect("localhost","root","admin","db_test");
if(isset($_GET["del"]) and isset($_GET["id"]) and $_GET["del"]==1){
$id=(int) $_GET["id"];
$result = mysqli_query($con,"DELETE FROM tbl_test where `番号`={$id}");
}
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM tbl_test");
echo "<table border='1'>
<tr>
<th>番号</th>
<th>氏名</th>
<th>住所</th>
</tr>";
while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['番号'] . "</td>";
echo "<td>" . $row['氏名'] . "</td>";
echo "<td>" . $row['住所'] . "</td>";
echo "<form action=koushin_input.php method=get>";
echo "<td><input type=submit value=更新></td>";
echo "</form>";
echo "<td><a href=\"".$_SERVER["SCRIPT_NAME"]."?del=1&id=".$row['番号']."\">削除</a></td>";
echo "</tr>";
}
echo "</table>";
mysqli_close($con);
?>
<BR><BR><BR> <A HREF="http://localhost/regist.php">
<INPUT TYPE = "SUBMIT" VALUE = "新規登録"></A>
</BLOCKQUOTE>
</body>
</html>
受け取る側
koushin_input.phpです
<html>
<body>
<?php
// データベースに接続
if(!$con=mysql_connect("localhost","root","admin")){
echo"接続エラー";
exit;
}
// データベースを選択
if(!mysql_select_db("db_test",$con)){
echo"データベース選択エラー";
exit;
}
// SELECT文を実行
$id=(isset($_GET["id"]))?((int) $_GET["id"]):0;
$sql = "SELECT `番号`,`氏名`,`住所` FROM tbl_test where `番号`={$id}";
var_dump($sql);
if(!$res=mysql_query($sql)){
echo "SQL実行時エラー";
exit;
}
// データの存在チェック
if(!$row=mysql_fetch_array($res)){
$row=mysql_fetch_array($res);
var_dump($row);
echo "データが削除されています";
exit;
}
// 入力画面の出力
echo "<form action=koushin.php method=post>";
echo "名前:<input type=text name=NAME value=\"" . $row['氏名'] . "\"> ";
echo "住所:<input type=text name=ADDR value=" . $row['住所'] . "> ";
echo "<input type=submit value=更新>";
echo "</form>";
// 結果セットの解放
mysql_free_result($res);
// データベースから切断
mysql_close($con);
?>
</body>
</html>
どこが原因なんでしょうか?
No.1ベストアンサー
- 回答日時:
top.php の
echo "<form action=koushin_input.php method=get>";
echo "<td><input type=submit value=更新></td>";
echo "</form>";
で id を渡していないから。
HTMLの基本です。
echo "<form action=koushin_input.php method=get>";
echo "<input type=hidden name=id value=".$row['番号'].">";
echo "<td><input type=submit value=更新></td>";
echo "</form>";
としましょう。
ありがとうございます
string(65) "SELECT `番号`,`氏名`,`住所` FROM tbl_test where `番号`=11"
こう出ます
No.2
- 回答日時:
top.phpのGETパラメータに、「id」が存在しないようですが。
<form>~</form>の間に送るべき値、例えば
echo "<input type=\"hidden\" value=\"$row['番号']\">";
などがありません。
URLで、koushin_input.phpの後ろにGETパラメータありますか?
これだと、koushin_input.phpの
$id=(isset($_GET["id"]))?((int) $_GET["id"]):0;
この部分は、必ず0になると思われます。
もしなら
echo "<form action=koushin_input.php method=get>";
を
echo "<form action=koushin_input.php?id=$row['番号'] method=get>";
としてもいいかもしれません。
当然、限定的な環境下での利用方法になりますが。
で、データが削除されたのではなく、番号=0が純粋に
存在しないから発生しているのではないでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- PHP php ログイン 1 2022/11/01 00:24
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
mysql データ更新
-
検索結果にリンクを生成
-
接続ができません
-
phpとmysqlを使っています。
-
LIMIT で条件を満たしているの...
-
バージョン3.23.53からアップグ...
-
phpMyAdminについて
-
PHP+MySQL 接続できません
-
Float型の時の計算結果がおかしい
-
ADOのバージョンを確認する方法
-
MYSQL
-
PHP+ApacheでMySQLに接続できな...
-
SQLのVARCHARとVARCHAR2の違い
-
MYSQLで日本語が入力できない
-
”MySQL”以前は実行できたのです...
-
ページング実装で2ページ目以...
-
phpMyAdimnとコマンドラインで...
-
MySQLとEclipseの接続方法について
-
ODP.NETのバージョン確認
-
MySQLでエラーがでて前に進めま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォームから送信した値とMySQL...
-
PHPにてSQLから取得したデータ...
-
mysql sqlエラー
-
mysqlで作ったテーブルをphpで...
-
pdfファイルの管理システム
-
MySQLからのデータをページに1...
-
PHPでMySQLを使った検索のプロ...
-
mysql データ更新
-
プレースホルダを使った複数カ...
-
検索機能
-
MySQLでの順位付けについて
-
データを一括で処理する方法に...
-
PHPでMySQLを使った検索のプロ...
-
PDOでDB ページング
-
配列の要素でmysqlに問い合わせ
-
mysql+php リストボックスにつ...
-
MySQLでデータ表示
-
mysqlの置換について2
-
PHP+MYSQLで検索画面を作成し...
-
PHP&MYSQLでの検索システムにつ...
おすすめ情報