2013-03-06 2 views
0

Я создал PHP-сайт, который в основном представляет собой сайт с некоторыми формами для MySQL-ввода.PHP несколько строк форм, автоматизация MySQL-ввода

Вот как это выглядит прямо сейчас. Достаточно просто, заполните его и нажмите «Отправить», чтобы ввести данные в базу данных.

http://i.imgur.com/ieMf39f.jpg

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

http://i.imgur.com/IdqcJjb.jpg

Таким образом, вопрос .. как я могу решить эту проблему самым простым и эффективным способом?

ответ

0

Ваш HTML должен выглядеть следующим образом:

<input name="name[]" /> 
<input name="obp1[]" /> 
<input name="obp2[]" /> 
    <br /> 
<input name="name[]" /> 
<input name="obp1[]" /> 
<input name="obp2[]" /> 

и ваш PHP:

for($i = 0; $i < count($_POST['name']); $i++) { 
    // verify if all fields are completed 
    if(empty($_POST['name'][$i]) || empty($_POST['obp1'][$i])) { // all fields here 
    // add an error 
    } else { 
    $mysqli->query("INSERT INTO my_table VALUES ('" . $mysqli->real_escape_string($_POST['name'][$i]) . "', '" . $mysqli->real_escape_string($_POST['obp1'][$i]) . "')"); 
    } 
} 
+0

Но что, если я только хочу, чтобы заполнить половину из доступных форм в половине случаев? –

2

Во имя каждого поля используйте, например, name = "opb1 []", таким образом он превратится в массив (opb = array).

Тогда вы могли бы сделать так:

foreach($opt1 as $k => $_opt1) 
    if(isset($opb2[$k]) && isset($opb3[$k]) .....etc) { 
     // use each row e.g. $opb2[$k]... 
    } 
} 
Смежные вопросы