[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Запись масива в БД
Bestkz
Приветствую всех.Прошу помоши у знатаков)

Есть массив

Array
(
[0] => title
[1] => content
[2] => title
[3] => content
[4] => title
[5] => content
[6] => title
[7] => content
[8] => title
[9] => content
)


и есть таблица бд
с полями title и content

подскажите как можно записать даные из масива в бд

т.е запись 0 и 1 записывается в одно поле бд соответсвено названию.



Спустя 13 минут, 43 секунды (12.08.2011 - 19:15) Invis1ble написал(а):
for ($i = 0, $cnt = count($data); $i < $cnt; $i += 2)
$values[] = "('" . mysql_real_escape_string($data[$i]) . "','" . mysql_real_escape_string($data[$i + 1]) . "')";
mysql_query(
"INSERT INTO `table`
(`title`, `content`) VALUES "
. implode(',', $values)
)
or die(mysql_error());

Спустя 6 минут, 32 секунды (12.08.2011 - 19:22) Bestkz написал(а):
Спасибо то что нужно было!
mysql_real_escape_string-пойду учить мат часть)

Спустя 36 минут, 59 секунд (12.08.2011 - 19:59) Winston написал(а):
Если ты уверен, что у тебя в массиве всегда будет парное количество элементов, то и без цикла можно обойтись
Свернутый текст
$values = implode(', ', array_map(create_function('$item', 'return "(\'" . implode("\', \'", $item) . "\')";'), array_chunk(array_map('mysql_real_escape_string', $arr), 2)));

mysql_query("INSERT INTO `table`
(`title`, `content`)
VALUES "
. $values
) or die(mysql_error());

:)



Спустя 12 минут, 16 секунд Winston написал(а):
Но цикл здесь выигрывает с отрывом
Код Invis1ble выполняется максимум за 0.0001 и При нечетном количестве элементов нормально формирует запрос.
Мой максимум за 0.0004 :) :(

Спустя 9 часов, 2 минуты, 53 секунды (13.08.2011 - 05:02) Invis1ble написал(а):
+ за замеры

Спустя 6 месяцев, 14 дней, 10 часов, 44 минуты, 7 секунд (27.02.2012 - 15:46) Guest написал(а):
Помогите пожалуйста, как записать такой масив в базу:

Цитата
Array (
[1_25000] => 1036
[2_25000] => error5
[3_25000] => error5

[1_26000] => 1077
[2_26000] => error5
[3_26000] => error5

[do2] => 3
)


В таблице поля:

Цитата
sid, money, day1, day2, day3


И она имеет уже содержание:

Цитата
sid имеет значения 1, 2, 3 и т.д.
money имеет значения 25000, 26000, 27000 и т.д.


Необходимо записывать переменные по следующему условию:

Рассмотрим на примере одной переменной из массива:
Цитата
[1_25000] => 1036
[do2] => 3


записать "1036" в поле "day1", где sid=3 и money=25000

Спустя 14 минут, 29 секунд (27.02.2012 - 16:00) Guest написал(а):
переменную [do2] => 3 удалил. Она сейчас передаётся отдельно через GET заплос.

Спустя 14 часов, 42 минуты, 22 секунды (28.02.2012 - 06:43) Guest написал(а):
как вариант возможен ещё масив:


Цитата
Array (
[1] [25000] => 1036
[2] [25000] => error5
[3] [25000] => error5

[1] [26000] => 1077
[2] [26000] => error5
[3] [26000] => error5
)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.