<?php
error_reporting(E_ALL);
$db = mysqli_connect("localhost", "root", "", "teachers");
if (mysqli_connect_errno()) {
printf("Не удалось подключиться: %s\n", mysqli_connect_error());
exit();
}
if(isset($_POST['submit'])){
$fio = $_POST['values'];
if(!empty($fio)){
echo "<pre>"; print_r ($values); echo "</pre><hr>";
$values = array();
foreach($fio as $value)
foreach($value as $res)
if(mb_strlen(trim($res)))
$values[] = "('". mysqli_escape_string($db, $res)."')";
$values = implode(",", $values);
echo "<pre>";
print_r ($values);
echo "</pre><hr>";
$query = "INSERT INTO `teachers` (`lastName`, `firstName`, `middleName`) VALUES $values";
$res = mysqli_query($db, $query) or die(mysqli_error($db));
echo $res ? 'Yes' : 'No';
}
}
?>
<form action="#" method="POST">
<table border="1">
<tr>
<td>Фамилия</td><td><input type="text" name="values[0][lastName]" /></td>
<td>Фамилия</td><td><input type="text" name="values[1][lastName]" /></td>
</tr>
<tr>
<td>Имя</td><td><input type="text" name="values[0][firstName]" /></td>
<td>Имя</td><td><input type="text" name="values[1][firstName]" /></td>
</tr>
<tr>
<td>Очества</td><td><input type="text" name="values[0][middleName]" /></td>
<td>Очества</td><td><input type="text" name="values[1][middleName]" /></td>
</tr>
<tr><td colspan="4" align="center"><input type="submit" name="submit" /></td></tr>
</table>
</form>
Код выше дает такое результат
В начале массив такой
Array
(
[0] => Array
(
[lastName] => Иванов
[firstName] => Иван
[middleName] => Иванович
)
[1] => Array
(
[lastName] => Петров
[firstName] => Петя
[middleName] => Петрович
)
)
Но после перебора foreach'ом
Он приобретает такой вид
('Иванов'),('Иван'),('Иванович'),('Петров'),('Петя'),(' Петрович')
Мне же нужно его получить в таком виде
('Иванов', 'Иван' , 'Иванович'), ('Петров', 'Петя', 'Петрович')
Как же добиться такого вида может кто подскажет, ото пол дня голову ломаю
_____________
Лучший хостинг