Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Запись в mysql из множества текстовых полей POST, Не получается перебрать масив в правильном формате для запис
beginner95  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 149
Пользователь №: 30731
На форуме: 4 года, 11 месяцев, 29 дней
Карма:




Принимаю из формы данные прохожу по массиву.
<?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'ом

Он приобретает такой вид

('Иванов'),('Иван'),('Иванович'),('Петров'),('Петя'),(' Петрович')

Мне же нужно его получить в таком виде

('Иванов', 'Иван' , 'Иванович'), ('Петров', 'Петя', 'Петрович')

Как же добиться такого вида может кто подскажет, ото пол дня голову ломаю


--------------------
PMПисьмо на e-mail пользователюСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25989
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 23 дня
Карма: 725

Не курю:
1 год, 2 месяца, 9 дней


foreach($fio as $value){
array_map("mysql_real_escape_string", $value);
$values[] = "('". explode("," $value)."')";
}

$insert = implode(", " , $values).";";


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 5493
Пользователь №: 35718
На форуме: 4 года, 17 дней
Карма: 167




Игорь_Vasinsky, ох и ох... даже охохох


--------------------
wmr - R281553014107
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25989
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 23 дня
Карма: 725

Не курю:
1 год, 2 месяца, 9 дней


может быть, проверять то лень.


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 5493
Пользователь №: 35718
На форуме: 4 года, 17 дней
Карма: 167




Игорь_Vasinsky, ну explode с implode попутать, тут и проверять нечего
ну и пару апострофов пропустил там же


--------------------
wmr - R281553014107
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 14974
Пользователь №: 4190
На форуме: 8 лет, 10 месяцев, 1 день
Карма: 443




Valick, не будь буквоедом smile.gif Игорь направление мысли правильное задал для ТС, а тот уже сам пусть подумает.


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25989
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 23 дня
Карма: 725

Не курю:
1 год, 2 месяца, 9 дней


Цитата
$values[] = "('". explode("," $value)."')";

угу implode() :D

 $values[] = "(". implode("," $value).")";


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 5493
Пользователь №: 35718
На форуме: 4 года, 17 дней
Карма: 167




Цитата (sergeiss @ 24.11.2015 - 18:53)
Valick, не будь буквоедом

так мнеж за счастье к Игорю пристебаться biggrin.gif


--------------------
wmr - R281553014107
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
beginner95  
 ۩     Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 149
Пользователь №: 30731
На форуме: 4 года, 11 месяцев, 29 дней
Карма:




Игорь_Vasinsky
Спасибо! Но вот зараза ругается Parse error: syntax error, unexpected T_VARIABLE in E:\home\ggntu\www\test.php on line 15

foreach($fio as $value){
array_map("mysqli_real_escape_string", $value);
$values[] = "('".implode(",", $value)."')";//15
}
$insert = implode(", ",$values).";";
if(mb_strlen(trim($values)))



А все нашел заразу запятую пропустил


--------------------
PMПисьмо на e-mail пользователюСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
beginner95  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 149
Пользователь №: 30731
На форуме: 4 года, 11 месяцев, 29 дней
Карма:




Осталось лишь одно как же применить функцию

if(mb_strlen(trim($res)))


И к какой же переменной ее применить чтобы пустые значения автоматически вырезались и не попадали в БД


--------------------
PMПисьмо на e-mail пользователюСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса