Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ассоциативный массив и данные в БД, Перебор и добавление 
:(
    Опции темы
sanitarn
Дата 3.6.2015, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 3.10.2014

Репутация: нет
Всего: нет



Всем привет, вот не попрактикуешься неделю и всЁ становишься овощем.
И так имею ассоциативнй массив вида:
$import['ovosh'] = array (1,2,3,4,5);
$import['frukti'] = array ('arbuz','yabloko', 'grusha');



Задача добавить данные из массива в базу данных
$query = "INSERT INTO `imports`.`import` (ovosh,frukt) VALUES ("$ovoshi","$frukti")";
Что мне прописывать в значениях value ?
Первое что пришло в голову, это перебрать каждый массив через foreach  и после добавить, то есть
foreach ($import['ovosh'] as $ovoshi);
foreach ($import['frukt'] as $frukti);

Получается мне нужно каждый массив постоянно перебирать, чувствую, что такой подход ламерский, подскажите более простой способ?
Да я могу перебрать массив со значениями ключей, но как их к ассоциативному массиву для добавления в базу связать?

Спасибо!

Это сообщение отредактировал(а) sanitarn - 3.6.2015, 12:03
PM MAIL   Вверх
ksnk
Дата 3.6.2015, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Что должно получится? В массивах разное количество элементов, так и должно быть?


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
sanitarn
Дата 3.6.2015, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 3.10.2014

Репутация: нет
Всего: нет



Цитата(ksnk @  3.6.2015,  11:51 Найти цитируемый пост)
Что должно получится? В массивах разное количество элементов, так и должно быть? 

Да так и должно быть. На выходе я просто должен заполнить каждое поле в БД к которому принадлежит значение массива.
PM MAIL   Вверх
sanitarn
Дата 3.6.2015, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 3.10.2014

Репутация: нет
Всего: нет



Если я отдельно каждый массив буду загружать в свою ячейку, то у меня многие поля в начале будут естественно пустыми http://prntscr.com/7ckz1x , да и делать 5 раз цикл под каждый перебор это не глупость?
PM MAIL   Вверх
ksnk
Дата 3.6.2015, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Цитата(ksnk @  3.6.2015,  11:51 Найти цитируемый пост)
Что должно получится?

Повторяю. Что должно получится в базе, если исходные данные 
Цитата

$import['ovosh'] = array (1,2,3,4,5);
$import['frukti'] = array ('arbuz','yabloko', 'grusha');

Какая структура таблицы?


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
sanitarn
Дата 3.6.2015, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 3.10.2014

Репутация: нет
Всего: нет



Код

"INSERT INTO `imports`.`import` (ovosh, frukt) VALUES (" "," ")";

CREATE TABLE IF NOT EXISTS `donor` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `ovosh` text NOT NULL,
  `frukt` text NOT NULL,
  UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=181044 ;

PM MAIL   Вверх
ksnk
Дата 3.6.2015, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



А в каждой строке что должно быть? Для каждого фрукта каждый овощь?

array_merge
array_combine
не подойдет?


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
sanitarn
Дата 3.6.2015, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 3.10.2014

Репутация: нет
Всего: нет



Цитата(ksnk @  3.6.2015,  16:46 Найти цитируемый пост)
А в каждой строке что должно быть? Для каждого фрукта каждый овощь?

Для каждого овоща, свой овощ )
Задача заполнить все поля в таблице, как лучше сделать с использованием 1 цикла, когда имеем ассоциативный массив с нужными данными.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0643 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.