如何将其他变量值与for循环一起使用


How can I use other variable value with for loop

这里,我想在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