多变量Mysql更新

时间:2018-03-28 12:37:31

标签: php mysql sql loops variables

我目前正在为我创建的数据库编写接口。界面显示一个X行数的表。基于行数我有一个具有X量下拉菜单的表格。

目标是显示具有特定状态的所有行,然后继续为每行创建一个下拉菜单。在用户为每行选择新状态并按下按钮后,我想将行列“状态”更新为新更新的行。

表格代码:

 while($row = mysqli_fetch_assoc($resultBestell))
    {
        $x++;
    ?>
    <tr>
    <td><?php echo $row["PrimKey"];?></td>
    <td><?php echo $row["ID"];?></td>
    <td><?php echo $row["ProduktID"];?></td>
    <td><?php echo $row["Menge"];?></td>
    <td><?php echo $row["Status"];?></td>
    </tr>
    <?php
    $test[$x] =$row["PrimKey"];
    @$safe += 1;
    }
    /////////////////////////
    echo count($test);
    echo $test[1];
    echo $test[2];
    echo $test[3];
    /////////////////////////

下拉菜单代码:

while($i != $safe)
{
    ?>
    <div class="w3-third">
    <label class="w3-text-teal">PrimKey <?php echo $test[$t];?></label>
    <select class="w3-select w3-border" name="<?php echo $t; ?>">
    <option value="" disabled selected>Status ausw&#228hlen</option>
    <option value="1">Unbearbeitet</option>
    <option value="2">Bearbeitet</option>
    <option value="3">Storniert</option>
    </select>
    </div>
    <?php
    $i++;
    global $t;
    $t++;
    $z++;
}

SQL更新代码

while($i != $t)
    {
        $y = $test[$i];
        switch($_POST["$i"])
        {
            case 1:
                $sql = "UPDATE bestelldaten SET Status='Unbearbeitet' WHERE Primkey=$y";
                break;
            case 2:
                $sql = "UPDATE bestelldaten SET Status='Bearbeitet' WHERE Primkey=$y";
                break;
            case 3:
                $sql = "UPDATE bestelldaten SET Status='Storniert' WHERE Primkey=$y";
                break;
        }

        if(mysqli_query($conn, $sql))
        {
            //Do Nothing
        }
        else
        {
            echo "ERROR" . mysqli_error($conn);
        }
        $i++;

所以我尝试使用$ _SESSION,但它给了我一个,在未知行0“跳过数字键1”通知。

我在上面的代码中的尝试是在while循环的每次迭代中将PrimKey值存储在Array中,然后使用索引来获取值。无法弄清楚如何使这项工作。保持获取,未知偏移“我尝试时出错”WHERE = PrimKey = $ test [$ i]“。我想我的数组的值在我到达SQL更新部分之前就丢失但是我无法弄清楚为什么或者如何解决这个问题。

非常感谢一些帮助,对不起,如果我的问题有明显的修复/答案。我对编程很新。

0 个答案:

没有答案