Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: array в цикле записать в mysql
$query1=mysql_query("SELECT `parts`.`articul`, `price`.`price` FROM `parts` LEFT JOIN `price` ON `parts`.`id`=`price`.`id` WHERE `parts`.`id`=('.trim($korzina_list,',').')"/*(вот в этом место не знаю что писать)*/) or die("Invalid query: ".mysql_error());
Суть в том что там массив лежит, как мне прочитать в цикле я понял, как из нее выдрать переменные $ind $val тоже понял, делаю запрос для вывода всех значений из БД, вывожу принтом или ехом то что из бд должен получить, получаю только последнею строчку из 5.
Вот и задача, вывести все строчки с сопоставлением из бд после записать в новую таблицу все значения что я получил.Отредактировано администратором: RomAndry, 07 Марта, 2012 - 09:33:07
ilyamus
Отправлено: 07 Марта, 2012 - 09:48:38
Новичок
Покинул форум
Сообщений всего: 6
Дата рег-ции: Март 2012
вроде мне нужно подставить [1], [4], [5], [2] (id товара такой как в мускуле) 5, 55,34,55 количество, как правильно в запрос мускуля засунуть эту инфу? что бы мускуль вывел мне таблицу а не последнюю строчку
на пальцах обьясните мне плз... (Добавление)
Dezmont пишет:
А Вам действительно в запросе необходим LEFT JOIN? Обычный WHERE не обойтись в данной ситуации?
вроде мне нужно подставить [1], [4], [5], [2] (id товара такой как в мускуле) 5, 55,34,55 количество, как правильно в запрос мускуля засунуть эту инфу? что бы мускуль вывел мне таблицу а не последнюю строчку
на пальцах обьясните мне плз...
Подсчитать количество элементов в массиве, сделать цикл который будет делать запрос с определенным id товара
Мне честно говоря влом писать тут код, который тут почти в каждой теме...
Поищите на форуме, погуглите for, while
Покинул форум
Сообщений всего: 245
Дата рег-ции: Июль 2010
Помог: 1 раз(а)
Если необходимо выбрать id товара [1] и [4] и [5] и [2], подставляете эти значения в множество: WHERE id IN (1,4,5,2).
Если необходимо выбрать ещё и по количеству, то подставляете AND и необходимое условие. (Добавление)
Если нужен запрос, опишите структуру таблиц и условие.
ilyamus
Отправлено: 07 Марта, 2012 - 10:25:35
Новичок
Покинул форум
Сообщений всего: 6
Дата рег-ции: Март 2012
Помог: 0 раз(а)
Dezmont пишет:
Если необходимо выбрать id товара [1] и [4] и [5] и [2], подставляете эти значения в множество: WHERE id IN (1,4,5,2).
Если необходимо выбрать ещё и по количеству, то подставляете AND и необходимое условие. (Добавление)
Если нужен запрос, опишите структуру таблиц и условие.
ООО!!!
WHERE id IN (1,4,5,2). я понял что можно поставить, но я не могу понять вот чего , у меня формируется корзина в не й может быть и 3 строки и 44. как мне реализовать это в запросе?
или мне писать цикл до запроса и дергать базу по несколько раз?
Покинул форум
Сообщений всего: 245
Дата рег-ции: Июль 2010
Помог: 1 раз(а)
Несколько раз базу дёргать не стоит, если без этого можно обойтись. Я точно не понимаю, что и как вы хотите сделать.
Перебирать корзину в цикле, всё до последней записи не вариант?
ilyamus
Отправлено: 07 Марта, 2012 - 10:45:30
Новичок
Покинул форум
Сообщений всего: 6
Дата рег-ции: Март 2012
Помог: 0 раз(а)
Dezmont пишет:
Несколько раз базу дёргать не стоит, если без этого можно обойтись. Я точно не понимаю, что и как вы хотите сделать.
Перебирать корзину в цикле, всё до последней записи не вариант?
Суть вот в чем
В корзине (сессии) лежит только $id, $col (айди и количество товара) мне нужно взять всю корзину и записать в базу, но в базу нужно положить артикул товара, цену, айди юзера (эта таблица в базе и в таблице хронятся все эти параметры).
в корзине может быть как и 2 товара так и 30 товаров.
Я думал сделать так, делаю цикл корзины после выборку из базы по $ind всех товаров которые в корзине и только потом insert того что мне нужно
Dezmont
Отправлено: 07 Марта, 2012 - 11:12:10
Частый гость
Покинул форум
Сообщений всего: 245
Дата рег-ции: Июль 2010
Помог: 1 раз(а)
Если вы хотите вставить данные SELECT в базу, то можете воспользоваться такой конструкцией
SELECT-- Ваш запрос. Результирующие столбцы должны быть такими же как в INSERT
да но перед селектом, мне нужно выборку сделать.
$query1=mysql_query("SELECT `parts`.`articul`, `price`.`price` FROM `parts` LEFT JOIN `price` ON `parts`.`id`=`price`.`id` WHERE `parts`.`id`='1,3,5,6'") or die("Invalid query: " . mysql_error());
вот в запрос как мне поставить переменную которая имеет несколько айдишек?
AND я не могу использовать по скольку не знаю сколько будет таких значений в корзине. (Добавление)
Спасибо! Допер сам ;) (Добавление)
<?
include("../connect.php");
session_start();
$nzakaz=time();
$iduser=$_SESSION['iduser'];
foreach($_SESSION['korzina'] as $ind=>$val)
{
$query1=mysql_query("SELECT `parts`.`articul`, `price`.`price` FROM `parts` LEFT JOIN `price` ON `parts`.`id`=`price`.`id` WHERE `parts`.`id`='$ind'") or die("Invalid query: " . mysql_error());
list($articul,$price)=@mysql_fetch_row($query1);
$query_ins=mysql_query("INSERT INTO `preorder` (`nzakaz`,`articul`,`price`,`quantity`,`iduser`,`data`) VALUES ('$nzakaz','$articul','$price','$val','$iduser',now())") or die("Invalid query: " . mysql_error());
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.