Вставка PHP в базу данных - сложно - PullRequest
0 голосов
/ 25 ноября 2011

Я пытаюсь вставить некоторые значения в базу данных из формы, предоставленной пользователем.

$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."')");

}

Единственное, что нужно добавить в этот оператор вставки, - это количество, которое хранится аналогично флажкам, но в текстовых полях. как это:

<?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 />";
      }?>

Часть, с которой мне нужна помощь, это второй входной столбец. Мне нужно поместить значения, соответствующие флажкам, в оператор вставки, но я не уверен, как это сделать.

1 Ответ

1 голос
/ 25 ноября 2011

На данный момент игнорируя все уязвимости в вашем коде, делая что-то вроде этого, вы должны получить уникальный идентификатор и сопоставить флажок со значением ввода:

<?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
}

Хотя я не совсем уверен, почему вы используете такие флажки - так что вы игнорируете обновление строк, которые они не отмечают, или что-то в этом роде?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...