phpについて質問します。ボタンをforeach分回し、各ボタンに名前を付けたいです。
一番上のボタンを押したら別の操作、2番目のボタンを押したらまた別の操作と操作を分けるためです。
例
php
1<?php 2$tbl=[['名前','年齢','住所'],['太郎',16,'秋田'],['次郎',18,'熊本'], 3['三郎',20,'岩手']]; 4 5<form action='' method='post'> 6<table border=1> 7 </tr> 8 <?php foreach($tbl as $value){ ?> 9 <tr> 10 <?php foreach($value as $key){ ?> 11 <td><?php print $key; ?></td> 12 <?php } ?> 13 <td> 14 <input type="submit" name='updata' value='修正'> 15 <input type="submit" name='delete' value='消去'> 16 </td> 17 </tr> 18 <?php } ?> 19</table> 20</form> 21?>
例のままでは名前がupdateのものとdeleteのものが$valueの要素分繰り返してしまします。一つのボタンを押したら複数のボタンを押した判定になって厄介です。
なので各ボタンに名前を付けたいです。どうしたらいいのでしょうか。
自分が試したやり方は、foreachなので=>を使い、添え字を取り出し、nameに<?php print $a; ?>としてつけて、処理部分で分岐させるやり方です。ですがこれだと、$_POST送信でエラーが生じてしまいます。多分.0、.1がダメなのだと思います。どうしたらいいのでしょうか。それともこのやり方では無理なのでしょうか。
php
1<?php 2$tbl=[['名前','年齢','住所'],['太郎',16,'秋田'],['次郎',18,'熊本'], 3['三郎',20,'岩手']]; 4 5<form action='' method='post'> 6<table border=1> 7 </tr> 8 <?php foreach($tbl as $value => $a){ ?> 9 <tr> 10 <?php foreach($value as $key){ ?> 11 <td><?php print $key; ?></td> 12 <?php } ?> 13 <td> 14 <input type="submit" name='1'.<?php print $a; ?> value='修正'> 15 <input type="submit" name='2'.<?php print $a; ?> value='消去'> 16 //name属性に$tblの縦列の添え字が入ります 17 </td> 18 </tr> 19 <?php } ?> 20</table> 21</form> 22?>
受け取り部分(処理)
php
1<?php 2//修正部分の一番最初が押された時 3if(isset($_POST['1'.0])){ 4 header(バス名); 5}else if(isset($_POST['2'.0])){ //消去部分の一番最初が押された時 6 header(パス名); 7?>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/27 00:45
2021/05/27 00:45
2021/05/27 02:50
2021/05/27 02:54
2021/05/27 02:57
2021/05/27 03:04
2021/05/27 03:13
2021/05/27 03:44
2021/05/27 03:49
2021/05/27 04:05
2021/05/27 04:40
2021/05/27 04:54
2021/05/27 05:01