環境はMysql4.1,PHP5です。
テーブルに
ID name tel
------------------
1 aaa 03-3333-3333
2 bbb 022-222-2222
3 ccc 0120-00-0000
があります。
これをWeb上に表示させ
<form action=exe.php method=post>
while ($col = mysql_fetch_array($rst)) {
print"名前<INPUT size='30' type='text' name='name' value='$col[name]'>
TEL<INPUT size='12' type='text' name='tel' value='$col[tel]'>
更新<input type=radio name=$col[id] value=0>
削除<input type=radio name=$col[id] value=1>";
}
<INPUT type=submit value=実行></form>
と3件表示させた後、3件一括で更新・削除の
処理をしたいと思っています。3件は固定ではないです。
1件ずつの更新・削除はできました。
ラジオボタンのnameをIDにしてレコードごとに
更新・削除を区別すればいいのかと思いましたが、
やり方がわからず行き詰っています。。
ご教授よろしくお願いします。
No.3ベストアンサー
- 回答日時:
んーちょっと意図がずれていると思いますが・・・
以下のようにしてみてください。
<?PHP
if($_POST){
if($_POST["kind"]){
foreach($_POST["kind"] as $key =>$val){
if($val=="delete") print "DELETE FROM `A` WHERE `ID`='$key';<br>";
if($val=="modify") print "UPDATE `A` SET `name`='".$_POST['name'][$key]."',`tel`='".$_POST['tel'][$key]."' WHERE `ID`='$key';<br>";
}
}
}
$Link=mysql_connect("host","user","password");
mysql_select_db("A",$Link);
$sql="SELECT `ID`,`name`,`tel` FROM `A`;";
$res=mysql_query($sql,$Link) ;
print <<<eof
<form action="$_SERVER[PHP_SELF]" method="post">
eof;
while($col = mysql_fetch_array($res,MYSQL_ASSOC)){
print <<<eof
名前<INPUT size='30' type='text' name='name[$col[ID]]' value='$col[name]'>
TEL<INPUT size='12' type='text' name='tel[$col[ID]]' value='$col[tel]'>
更新<input type=radio name="kind[$col[ID]]" value="modify">
削除<input type=radio name="kind[$col[ID]]" value="delete"><br>
eof;
}
print <<<eof
<INPUT type="submit" value="実行">
</form>
eof;
?>
yambejpさん、できました!ほんとうに感謝しております(TT)
SQL構文まで教えていただいてしまい・・ありがとうございました。
No.2
- 回答日時:
すみません。
曲解していました。こういうことですね?
受け取った側はID値でkindの値をみて更新や
削除をすればいいでしょう。
<?PHP
$Link=mysql_connect("host","user","password");
mysql_select_db("データベース",$Link);
$sql="SELECT `ID`,`name`,`tel` FROM `テーブル`;";
$res=mysql_query($sql,$Link);
print <<<eof
<form action="hoge.php" method="post">
eof;
while($col = mysql_fetch_array($res,MYSQL_ASSOC)){
print <<<eof
名前<INPUT size='30' type='text' name='name[$col[ID]]' value='$col[name]'>
TEL<INPUT size='12' type='text' name='tel[$col[ID]]' value='$col[tel]'>
更新<input type=radio name="kind[$col[ID]]" value="modify">
削除<input type=radio name="kind[$col[ID]]" value="delete"><br>
eof;
}
print <<<eof
<INPUT type="submit" value="実行">
</form>
eof;
?>
すべてのnameに$col[ID]をつけて判別するのですね!
まったくわからなかったのですが、とても感謝しております。
>受け取った側はID値でkindの値をみて更新や
削除をすればいいでしょう。
についてなのですが、
$sql = "SELECT * from A";
$rst = mysql_query($sql,$con);
while ($col = mysql_fetch_array($rst)) {
if($kind$col[ID]==0 ){
$sql="update shop set name='$name$col[ID]',tel='$tel$col[ID]'
where ID='$id$col[ID]'
mysql_query($sql);
のようにしました。
ID='$id$col[ID]'は
<input type=hidden name=id$col[ID] value='$col[ID]' >
としております。
結果はwhere ID='$id$col[ID]'の部分はうまくいったようなのですが、
nameとtelが$col[ID]の値になってしまいました。
ID name tel
--------------
1 1 1
2 2 2
3 3 3
$kind1==0 の「1」のように固定にはしたくないので
できずに進めない状態です。
恐縮ではありますが、よろしくお願いします。
No.1
- 回答日時:
whileのループの外側に更新・削除確認ラジオボタン
をおけばよいのでは?
IDは大文字?小文字?
print <<<eof
<form action=exe.php method=post>
eof;
while ($col = mysql_fetch_array($rst)) {
print <<<eof
名前<INPUT size='30' type='text' name='name[$col[ID]]' value='$col[name]'>
TEL<INPUT size='12' type='text' name='tel[$col[ID]]' value='$col[tel]'><br>
eof;
}
print <<<eof
更新<input type=radio name="kind" value=0>
削除<input type=radio name="kind" value=1>
<INPUT type=submit value=実行>
</form>
eof;
yambejpさん、ご回答ありがとうございます。
ループの外側に更新・削除をおいてみました。
こうすると、1件ずつ更新・削除が選べないのが
ちょっと問題です。
このような処理はどのような仕組みになっているのでしょうか。
アドバイスなど頂けたら幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLです教えてください。
-
SQLです教えてくださいお願いし...
-
SQLです教えてくださいお願いし...
-
SQLです教えてくださいお願いし...
-
#1062 - '0' は索引 'PRIMARY' ...
-
SQLでカラムを追加し、条件に合...
-
select *, `人口(男)`AND`人口(...
-
下記の問合せを行うクエリを、P...
-
SQLです。下記の問合せを行うク...
-
下記の問合せを行うクエリを、P...
-
データベースの接続に失敗して...
-
SQLで漢字名称を都道府県や市区...
-
テーブル名が可変の場合のクエ...
-
AWSのRDSを無料枠で使用してお...
-
下記の問合せを行うクエリを、 ...
-
SQLです。こんな感じですか?あ...
-
参考書に従って入力したつもり...
-
SQLについて質問です。 SELECT ...
-
utf8bomとutf8mb4の違いがいま...
-
SQLです!!教えてください。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォームから送信した値とMySQL...
-
PHPにてSQLから取得したデータ...
-
mysql sqlエラー
-
pdfファイルの管理システム
-
MySQLからのデータをページに1...
-
mysqlで作ったテーブルをphpで...
-
PHPでMySQLを使った検索のプロ...
-
mysql データ更新
-
MySQLでの順位付けについて
-
プレースホルダを使った複数カ...
-
検索機能
-
データを一括で処理する方法に...
-
mysql+php リストボックスにつ...
-
PHPでMySQLを使った検索のプロ...
-
PDOでDB ページング
-
配列の要素でmysqlに問い合わせ
-
MySQLでデータ表示
-
mysqlの置換について2
-
フォームからmySQL-DBにデータ...
-
PHP+MYSQLで検索画面を作成し...
おすすめ情報