这里,我想在for循环中使用其他变量值,因为我想获得这些记录。这是我的代码,
$chk = $_SESSION['id'];
$altxt= $_POST['text'];
for($i=0; $i < sizeof($altxt); $i++)
{
if(!empty($altxt[$i]))
{
echo "<br>";
echo "update order_details set process_order='1' tracking_number=$altxt[$i] where id IN(".implode(',',$chk).")";
}
}
我变得这样了,
update order_details set process_order='1' tracking_number=safdf where id IN(8,6)
和
我想要,
update order_details set process_order='1' tracking_number=safdf where id IN(8)
update order_details set process_order='1' tracking_number=safdf where id IN(6)
在这里,我得到的跟踪号的值是$altxt[$i]
,但我也想得到我无法得到的id
的记录。。
那么,如何使用它呢?
更多的代码,
if ($order_list) {
$i = $start +1;
foreach ($order_list as $row) {
?>
<tr class="border-bottom border-top">
<td class="align-center">
<input type="checkbox" name="id[]" id="id_<?php echo $row['id']; ?>" value="<?php echo $row['id'];?>" <?php if(in_array($row['id'], $_SESSION['id'])) echo checked; ?>>
</td>
<td class="align-center" id="id"><?php echo $i; ?></td>
<td class="align-center"><?php echo $row['order_id']; ?></td>
<td class="align-center"><?php echo $row['order_item_id']; ?></td>
<td class="align-center"><?php echo $row['product_name']; ?></td>
<td class="align-center">
<input type="text" name="text[]" autocomplete="off" id="txtid_<?php echo $row['id']; ?>" readonly value="<?php $row['text'] ?>">
</td>
</tr>
<?php
$i++;
}
您可以使用2个foreach循环,也应该使用WHERE ID = $id
而不是WHERE ID IN ( $id )
由于你的例子:
$altxt = array( "", "test", "test1","", "", "", "", "", "", "");
$chk = array( "3", "4" );
你可以用array_shift()
:试试这个代码
for($i=0; $i < sizeof($altxt); $i++)
{
if(!empty($altxt[$i]))
{
echo "<br>";
echo "update order_details set process_order='1' tracking_number=$altxt[$i] where id=". array_shift( $chk );
}
}
将输出以下内容:
update order_details set process_order='1' tracking_number=test where id=3
update order_details set process_order='1' tracking_number=test1 where id=4