Несколько экземпляров одинаковых элементов в форме - PullRequest
2 голосов
/ 29 марта 2011

Из базы данных я загружаю некоторые данные, которые пользователь может редактировать.

Допустим, у нас есть эта форма:

<form>
Name: [TextBox]
Data: [TextArea]
-------------------
Name: [TextBox]
Data: [TextArea]
...
Name: [TextBox]
Data: [TextArea]
-------------------
[Submit Button]
</form>

Какие имена должны иметь элементы?

Каков наилучший подход для извлечения опубликованных данных с помощью PHP, чтобы я мог понять, какой идентификатор у каждого из них?

Примечание: я хочу, чтобы только 1 кнопка отправки !

Спасибо ...

1 Ответ

7 голосов
/ 29 марта 2011

С PHP вы можете использовать массив:

Name: <input type="text" name="name[]" value="">
Data: <textarea name="data[]"></textarea>
...
Name: <input type="text" name="name[]" value="">
Data: <textarea name="data[]"></textarea>

Затем в PHP вы можете обработать его следующим образом:

$nameArray = $_POST['name'];
$dataArray = $_POST['data'];
foreach($nameArray as $key => $name){
  $data = $dataArray[$key]);    
}

Другой способ - использовать php для генерации имен. Сделайте так, чтобы они выглядели так:

Name: <input type="text" name="name[0]" value="">
Data: <textarea name="data[0]"></textarea>
Name: <input type="text" name="name[1]" value="">
Data: <textarea name="data[1]"></textarea>
...
Name: <input type="text" name="name[10]" value="">
Data: <textarea name="data[10]"></textarea>

Таким образом, вы можете быть уверены, что $ _POST ['name'] [10] соответствует $ _POST ['data'] [10].

...