PHP插入数据库 - 复杂

时间:2011-11-25 14:27:30

标签: php sql loops phpmyadmin

我正在尝试从用户提交的表单中将一些值插入到数据库中。

$id = mysql_insert_id();//Gets ID of last value inserted into related table
foreach( $_POST[ 'equipment' ] as $checkBoxIndex => $checkBoxValue ) {

mysql_query("INSERT INTO recipeequipment (recipeid, equipmentid, datetimeentered) VALUES('".$id."', '".$checkBoxValue."', '".$datetime."')");

}

唯一需要添加到此insert语句的是数量,它以与复选框类似的方式保存,但在文本框中。像这样:

<?php while($rowequipment = mysql_fetch_assoc($sqlequipment)) {
echo '<input type="checkbox" name="equipment[]" value="'.$rowequipment['equipmentid'].'"/>
      <input type="text" name="count[]" id="count[]" size="3" value="" />'
     .$rowequipment['description']."<br />";
      }?>

我需要帮助的部分是第二个输入栏。我需要将与复选框对应的值放入insert语句中,但不确定如何执行此操作。

1 个答案:

答案 0 :(得分:1)

暂时忽略代码中的所有可用性,执行此类操作应该允许您获取唯一ID并将复选框与输入匹配:

<?php while($rowequipment = mysql_fetch_assoc($sqlequipment)) {
echo '<input type="checkbox" name="equipment['.$rowequipment['equipmentid'].']" value="'.$rowequipment['equipmentid'].'"/>
      <input type="text" name="count['.$rowequipment['equipmentid'].']" id="count-'.$rowequipment['equipmentid'].'" size="3" value="" />'
     .$rowequipment['description']."<br />";
      }?>

然后,一旦提交了该表单,您只需执行以下操作即可遍历每个复选框:

foreach ($_POST['equipment'] as $id => $checkboxValue) {
  $textInputValue = $_POST['count'][$id];
  // do something with the above value here
}

虽然,我不太清楚你为什么要使用这样的复选框 - 它是否会忽略更新它们没有检查的行或什么?