今はひとつずつ削除しているのですが、checkboxにかえて複数削除するにはどのようにしたらいいでしょうか?具体的なフォームの形としては、タイトル(これは内容に飛ぶリンクがはられている)受信日、削除(ここの列にcheckboxをいれたい)これがヘッダーでテーブルの形になっています。
今のソースは以下のようになっています。
while ($line = mysql_fetch_array($rs_limit, MYSQL_ASSOC)) {
echo "\t<tr>\n";
echo "<form action='message_s.php' method='POST' name='form1'>";
echo "<input type='hidden' name='no' value='$line[no]'>";
echo"\t\t <td NOWRAP><a href='message_s.php' onclick='document.forms[1].no.value=$line[no];document.forms[1].submit();return false;'>$line[title]</a></td>\n";
echo"</form>";
echo "\t\t <td NOWRAP>$line[zyusinbi]</td>\n";
//ここからが削除のフォームです
echo "<form action='messagesakujyo_regist.php' method='POST' >";
echo "<input type='hidden' name='no' value='$line[no]'>";
echo"\t\t <td NOWRAP><a href='messagesakujyo_regist.php'onclick='document.forms[2].no.value=$line[no];document.forms[2].submit();return false;'>削</a></td>\n";
echo"</form>";
echo "\t</tr>\n";
}
echo "</table>\n";
noをチェックボックスで複数の値を送りたいと思っています。自分でも配列(no[])にしたりしてやってみたのですがうまくいきません。同じ値だけしか取り出せなかったりします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
onclickの中がよく分かりませんが・・
echo '<form method="post" action="">';
echo '<table>';
foreach ($rows as $row) {
echo '<tr>';
echo '<td><input type="checkbox" name="no[' . $row['no'] . ']" value="1"></td>';
echo '<td><a href="">' . $row['title'] . '</a></td>';
echo '<td>' . $row['zyusinbi'] . '</td>';
echo '</tr>';
}
echo '</table>';
echo '<input type="submit" name="delete" value="Delete" />';
echo '</form>';
if (!empty($_POST['delete']) && !empty($_POST['no'])) {
foreach ($_POST['no'] as $no => $val) {
echo $no . '<br />'; // ←こいつを削除
}
}
回答ありがとうございます。
このコードをみて無事作ることができました。
わざわざ初心者の質問に答えていただきありがとうございます。
No.2
- 回答日時:
肝心のcheckboxを入れ忘れた。
(snip)
echo "<form action='送信先' method='POST' id='f3'>";
foreach($rows as $row) {
echo"<a onclick='document.getElementById('f1').no.value="
. $rows["no"] . ";document.getElementById('f1').submit();return false;'>削</a>";
echo "<input type='checkbox' name='no[]' value='" . $rows["no"] . "' />まとめて削";
}
echo "<input type='submit' /></form>";
回答ありがとうございます。
まだエラーがでてるみたいなので、参考にしてがんばってみようと思います。
初心者の質問に答えてもらい本当にありがとうございます。
No.1
- 回答日時:
とりあえず突っ込みどころ満載と言っておきましょう。
>echo "<input type='hidden' name='no' value='$line[no]'>";
変数は全て連結するか{}で括りましょう。
連結する方が高速なので当方は連結を使います。
echo "<input type='hidden' name='no' value='" . $line[no] . "'>";
echo "<input type='hidden' name='no' value='{$line[no]}'>";
submit()の部分でcheckboxに値を入れなおしている部分は不要でしょう。
ここでもjsの中にphpの構文が混ざっていてしっちゃかめっちゃかです。
>document.forms[1].no.value=$line[no]; ←コレ
何Mもあるデータをfetchするのであればスルーしていただきたいですが、
mysql_fetch_array()でループする中でhtmlをechoするのはあまり美しいやり方ではありません。
inputとoutputは極力分離して構築した方が見やすいロジックになります。
また、ループの中にformをそれぞれ書くのは少々無駄といえましょう。
aタグのhrefに値が入っているのも無意味です。
// そもそもhrefとonclickの優先順位ってブラウザ依存だったような気もします
当方が書くと以下の感じ。
$rows = array();
while($row = mysql_fetch_assoc()) {
$rows[] = $row;
}
foreach($rows as $row) {
echo"<a onclick='document.getElementById('f1').no.value="
. $rows["no"] . ";document.getElementById('f1').submit();return false;'>" .$line["title"]. "</a>";
echo"<a onclick='document.getElementById('f1').no.value="
. $rows["no"] . ";document.getElementById('f1').submit();return false;'>削</a>";
}
echo "<form action='message_s.php' id='f1' method='POST'>";
echo "<input type='hidden' name='no' id='no' />
echo "</form>";
echo "<form action='messagesakujo_regist.php' id='f2' method='POST'>";
echo "<input type='hidden' name='no' id='no' />
echo "</form>";
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ナベアツプログラム(3の倍数...
-
バッチファイルでpingの結果を...
-
switch()文で値の大小比較
-
Dosブロンプトでtabを出力したい
-
変数の受け渡しによる画像の表示
-
shシェルスクリプト 空白行の...
-
phpでcookieがうまく保存されない
-
bashの関数の引数にスペースが...
-
findstrのerrorlevel
-
syntax error, unexpected 'ech...
-
PHPで訪問回数を表示するカウン...
-
データベースから出力したデー...
-
バッチファイルで、全てのウィ...
-
batファイルでドロップしたデー...
-
Windowsのsetコマンドでの小数...
-
PHPで値を表示する「echo」「pr...
-
小数点以下0の非表示
-
PHPにて変数をテキストファイル...
-
DTOとEntityの差は何ですか。
-
「取得先」という表現について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
switch()文で値の大小比較
-
phpでcookieがうまく保存されない
-
バッチファイルでpingの結果を...
-
shシェルスクリプト 空白行の...
-
syntax error, unexpected 'ech...
-
findstrのerrorlevel
-
バッチファイルで、全てのウィ...
-
PHPで訪問回数を表示するカウン...
-
PHP一覧表示した項目にリンクを...
-
DBのハッシュ化したパスワード...
-
小数点以下0の非表示
-
Windowsのsetコマンドでの小数...
-
オブジェクトの中身の判定(PHP)
-
PHPでのパスワード制限のセキュ...
-
bashの関数の引数にスペースが...
-
RSSにdiv,ul classを付けたいの...
-
pdftkを使った処理をバッチファ...
-
ゼロとNULLを区別して number_f...
-
コマンドプロンプト フォルダ内...
おすすめ情報