
今はひとつずつ削除しているのですが、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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
文字列から期間算出 09-12 12-12
-
4桁の乱数の発生
-
checkboxでの複数選択削除がわ...
-
switch文の中でforeach
-
syntax error, unexpected 'ech...
-
echoとprintの使い分け
-
PHPでの画像の形式の変換
-
VBScriptでのWEBページのソース...
-
VB.NETでボリュームを取得・設...
-
PHP 指定した期間だけ表示した...
-
DTOとEntityの差は何ですか。
-
PHP4からPHP5へ移行した際、セ...
-
WordでExcelデータを差込...
-
昨日の日付を取得するVBscript
-
VBブラウザに表示されているテ...
-
ミュージックのアートワークを...
-
C言語で地図を描きたい
-
ログイン画面をはさんだ後、自...
-
こんなことはPHPで可能なのでし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
shシェルスクリプト 空白行の...
-
バッチファイルで、全てのウィ...
-
findstrのerrorlevel
-
バッチファイルでpingの結果を...
-
switch()文で値の大小比較
-
syntax error, unexpected 'ech...
-
phpでcookieがうまく保存されない
-
小数点以下0の非表示
-
pdftkを使った処理をバッチファ...
-
Windowsのsetコマンドでの小数...
-
ifの条件(不等号)を動的に埋...
-
ゼロとNULLを区別して number_f...
-
PHPで訪問回数を表示するカウン...
-
bashの関数の引数にスペースが...
-
DBのハッシュ化したパスワード...
-
PHPで$_GET[’m’]の意味が分か...
-
WindowsのイベントログをExcel...
-
コマンドプロンプト フォルダ内...
-
php mysql SELECT文でテーブル...
おすすめ情報