将多个复选框值传递给不同的数据库列

时间:2014-12-10 02:26:59

标签: php sql

我是PHP的新手,但是我一直在尝试寻找与我类似的其他问题,并且无法找到任何与我的情况相近的东西来帮我解决这个问题。

我正在尝试编写一个网页代码,允许用户选择他们想要订购的项目数量。项目值与项目表中的主键相同。

提交后,应根据日期{pk}将每个不同的项值输入到数据库表的同一行。在该行中,有许多列:Item1ID,Item2ID,Item3ID等

到目前为止,所选的每个项目的值都分配给一个新数组。但是,我不能简单地将数组值输入到列中 - 我需要将每个数组索引放入一个连续列中。代码如下:

$date = new DateTime();
$td = $date->format('Y-m-d');
$x = 1;
$checkedItems = $_POST['Item'];
$count = count($checkedItems);
echo $count;
$foodID = "Item".$x."ID";

While($x<=$count){
    if(isset($_POST['Item'])){
      if (is_array($_POST['Item'])) {
        foreach($_POST['Item'] as $values){
          $selectedFoods = substr($values,0,4);
          $addFoodOrderQuery= sprintf("UPDATE WeeklyBasketFoodOrder SET '%s' = %s WHERE `foodOrderDate` = '%s'",
                    $foodID, $selectedFoods, $td);
            $result= mysqli_query($db, $addFoodOrderQuery);
            }
    }
  } else {
    $values = $_POST['Item'];
    echo "You have not selected any items to order.";
  }
  $x++;
}

如果您需要进一步说明,请告知我们。提交代码后,数据库项#ID表是不同的,但它们现在是空的而不是&#34; NULL。&#34;

0 个答案:

没有答案