我有一个基于mysql数据库表中的行创建的表。所以行不是固定的而是取决于从源数据库表记录。
HTML和部分DB查询:
$query=mysqli_query($db_server, "SELECT DateTime, RefNumber, COUNT(*) AS count FROM requests GROUP BY DateTime");
$i=1;
foreach($query as $row)
{?>
<tr>
<td> <?php echo $i ?> </td>
<td><input type='text' name='date_sent[]' value='<?php echo $row['DateTime'];?>' style='border-radius:0; margin:0' /></td>
<td><input id='ref<?php echo $i?>' type='text' name='ref[]' value='<?php echo $row['RefNumber'];?>' style='border-radius:0; margin:0' /></td>
<td ><input id='noofitems<?php echo $i?>' type='text' class='prices' name='noofitems[]' value='<?php echo $row['count'];?>' style='text-align:center; border-radius:0; margin:0' /></td>
<td align='center'><input id='action1<?php echo $i?>' type='checkbox' class='prices' name='action2[]' style='width:20px; border-radius:0; margin:0' /></td>
</tr>
<?php
$i++;
}
表:动态表- from DB
我想要的:这是一个纯PHP代码,它将选择精确对应的选中行的reference number。我需要这些引用号来构建另一个DB查询,以使用PHP会话在另一个页面上创建第二个表。
我试过调用下面的代码来存储ref number。不幸的是,它只选择第一个连续的引用号。我只需要选择那些行被选中的
<?php
session_start();
$rowCount = count($_POST['action2']);
for($i=0; $i<$rowCount; $i++){
if(isset($_POST['action2'][$i])){
$_ref='ref'.$i;
$_SESSION["$_ref"]=$_POST['ref'][$i];
}
}
$_SESSION['rowCount']=$rowCount;
或者
<?php
session_start();
if(isset($_POST['action2'])){
$rowCount=count($_POST['action2']);
$i=0;
foreach($_POST['action2'] as $i){
$ref='ref'+$i;
$_SESSION["$ref"]=$_POST['ref'][$i];
$i++;
}
}
您已经在HTML
中生成了如下所示的复选框<input id="action14" type="checkbox" class="prices" name="action2[]" style="width:20px; border-radius:0; margin:0">
你怎么知道这个复选框指的是哪个ID ?你需要赋值时每个复选框,以便发送给PHP可以告诉哪一行标记。
使用value='<?=$row['SomeID']?>'
填充将被发送到PHP的value属性。然后是foreach ($_POST['action2'] as $ID)