PHP version 4.4.4を使用しています。
テーブルの中に下記のデータがあるとします。
cID uname mls
2 abc@abc.com 1234567896
2 abc@abc.com 1234567894
2 abc@abc.com 1234567892
1 test@test.com 1234567892
インターネットで色々調べたのを元に
コードを作成したのですが、Submitボタンを押すと
チェックボックスに選択されたレコードは削除されず、
1つ新たなレコードをデータに入力されてしまいます。
<例えば>
cID:2、uname:abc@abc.com、で絞ったデータの中から
1234567894、と 1234567892 を削除しようとすると、
選択されたデータは削除されず、
下記のように新たなデータが1つインサートされます。
cID uname mls
2 abc@abc.com 0
それをした後だと、更新ボタン(ページがリロード)をクリックする度に
新たなデータが又1つインサートされます。
何方かこの問題を解決して頂けるととても助かります。
どうぞ宜しく御願いします。
フォームは下記の通りです。
<form action="<?=$_SERVER['PHP_SELF'] ?>" method="post">
<INPUT type="checkbox" name="id[]" value="<?=$mls?>">
<input type="submit" name="submit" value="Delete selected">
</form>
使用してるコードは下記の通りです。
//配列に入っている?
if( is_array( $_REQUEST['id'] ) ){
//更新のあった行数
$cnt = 0;
//配列の分だけSQL
foreach( $_REQUEST['id'] as $myid ){
//エスケープ
$myid = intval( mysql_escape_string( $myid ) );
$sql = "DELETE FROM $table2 WHERE cID='$session[cID]' AND id = '{$myid}' LIMIT 1 ; ";
$result = mysql_query( $sql );
//更新のあった分だけ足す
if( $result ){
$cnt += mysql_affected_rows();
}
}
echo "{$cnt}行が削除されました。";
}
No.1ベストアンサー
- 回答日時:
>1つ新たなレコードをデータに入力されてしまいます。
DELETE文でレコードが追加されることはありません。
全体像が見えないのでなんともいえませんが、
おそらくフロー制御がわるく、追加や更新のルーチンが作動しているのでは?
とりあえずは$sqlをprintしてみてデバッグするとよいのでは?
yambejpさま、
御回答を頂きどうも有難うございます。
「DELETE文でレコードが追加されることはありません。」というのを
聞いて、
確かに・・・っと、それがきっかけで
何故そうなるのかやっと問題を解決しました。
Delete文をInsert文の後に入れてたのが問題でした。
どうも有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DBで検索結果に該当するデータ...
-
dbに登録したデータをphpのプル...
-
checkboxクリック時、SQLを実行...
-
エクセルVBAについて
-
検索結果をgoogleのように数件...
-
抽出結果に番号を振る方法につ...
-
PHPで[]の使い方について
-
DBからSelectしたレコードのデ...
-
MySQLに保存した画像を表示したい
-
mysqlから取得した配列をカンマ...
-
実行時エラー3131 FROM 句の構...
-
MySQLでデータベースにデータin...
-
ResultSetインターフェイスでの...
-
VBAをつかってクエリの情報を抽...
-
Pro*Cの構文エラー
-
会員登録したらメールが送られ...
-
JAVA SQLServerException 列名 ...
-
csvをDBへ読み込んだら、NULLが...
-
DAOでデータベースを二つ開くに...
-
mysql_queryでDB検索をしたいが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPで[]の使い方について
-
php テーブルが作成できない
-
dbに登録したデータをphpのプル...
-
アラートでyes noを作りたいです。
-
phpでmysqlを使ってデータベー...
-
DBで検索結果に該当するデータ...
-
文字化けが解決できません。お...
-
SELECT結果から動的にコンボボ...
-
checkboxクリック時、SQLを実行...
-
PHPでMySQLデータを呼び出し、w...
-
while文の中にwhile文を書きた...
-
sortable ギブアップです…助け...
-
重複レコードをグループ化した...
-
PHP と MySQL でテーブルの行数...
-
PHPでMySQLのデータを2次元配...
-
mysql>PHPにデータ表示、10件ご...
-
PHPについてなのですが未定義の...
-
VBA初心者です。
-
ラジオボタンをループすること...
-
PHP+MySQLでの配列のinsert文に...
おすすめ情報