Всем привет! Не могу правильно составить запрос: Код (PHP): $array1 = (1, 2, ...) $array2 = (1, 5, ...) //запрос нужен примерно такой: $sql = "UPDATE `{$table}` SET `quantity` = '{$array1[]}' WHERE `order_id`='{$array2[]}'"; Помогите, пожалуйста? PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
Ну вообще-то я так не пишу, я написал для понимания, что хочу увидеть на месте $array1[] - $array1[0], потом $array1[1] и так далее.. и с запросом немного ошибся, такой должен быть: Код (PHP): $sql = "UPDATE `{$table}` SET `quantity` = '{$array1[]}' WHERE `order_id`='{$order_id}' AND `product_id`='{$array2[]}'";
а оно должно так работать? Добавлено спустя 53 секунды: а ну ка тест: Код (PHP): $arr = array('one', 'two', 'three'); for ($i = 0; $i < count($arr); $i++) { echo "<div>".$arr[]."</div>"; } Добавлено спустя 1 минуту 33 секунды: и сразу такой конструкция затестируй: Код (PHP): $arr = array(); $arr[] = 'one'; $arr[] = 'two'; $arr[] = 'three'; var_dump($arr); Добавлено спустя 38 секунд: может тогда поймешь что происходит при вот таком действии: $array1[]
Может вы лучше прочитаете какой у меня был вопрос?? - НЕ МОГУ СОСТАВИТЬ ЗАПРОС - это означает, что мой запрос, указанный выше не верен!! что вы мне тут доказываете? может на словах понятнее будет - есть два массива, нужно составить запрос или запросы в бд используя каждые значения этих двух массивов.
denis01 читал, понятно. Но на свой вопрос ответ не нашёл. Добавлено спустя 2 минуты 17 секунд: У меня не возникло бы проблем, если был только один массив, запросил бы через foreach, а два не знаю как делать.
может ты наконец начнешь думать своей пустой коробкой, которую ты по ошибке называешь головой и наконец поймешь что запись типа: Код (PHP): $sql = "{$array1[]}"; выдаст ошибку, потому что обращаться к массиву так надо совсем в другом случае, и этот другой случай я привел выше. и может ты в свой говнокод вставишь в конец вот такую волшебную конструкцию: Код (PHP): echo $sql; что бы увидеть что ты собираешь отправлять в БД. есть компьютер, надо составить запрос в БД, составишь?
Составь запрос вручную и покажи как ты хочешь чтобы он выглядел, ну и покажи нам полные массивы с данными которые ты использовал для построения запроса. Ну и ещё, у тебя сложности с текстом запроса или с формированием запроса на PHP?
VLK Ну ок, раз тут так принято, Слышь идиотина, если ты тупой и не понимаешь, что мой запрос выглядит иначе и не можешь образно мыслить, грошь тебе цена. Да ещё если ты сам не догнал, с хера ли ты позволяешь себе оскорблять людей?? еслиб был один массив сделал бы так: Код (PHP): $array =(1,1,3,5); sql =""; foreach ($array as $arr) { $sql .= "UPDATE `$table` SET `quantity` = '$arr'; } Но у меня 2 массива, прошу помощи. Добавлено спустя 6 минут 51 секунду: denis01 У меня сложности с формированием запроса в php. запрос должен быть такой: Код (PHP): UPDATE `$table` SET `quantity` = '$numb' WHERE `order_id`='$order_numb' AND `order_product_id`='$order_product_id' Значения $numb и $order_product_id находятся в двух массивах, как их грамотно подставить в запрос?
если у тебя массив с одинаковым кол-ом элементов, то можешь попробовать как-то так (меня особо не слушай): Код (PHP): $array1 = (1, 2, ...) $array2 = (1, 5, ...) for ($i = 0; $i <= count ($array1); $i++) { $sql = "UPDATE `$table` SET `quantity` = '$array1[$i]' WHERE `order_id`='$array2[$i]'"; } сложный(фигурный) синтаксис, насколько я знаю, используется для ограничения имён переменных и т.п., по крайней мере - я так понимаю его.
iNEEdhLw фигурные скобки и массивы Что можно и нельзя делать с массивами https://secure.php.net/manual/ru/language.types.array.php#l ... rray.donts
fork а с помощью каких классов ты делаешь запрос к базе данных? Код (PHP): UPDATE `$table` SET `quantity` = '{$array[1]}' WHERE `order_id`='{$array2[1]}' AND `order_product_id`='{$array2[1]}'
А я ни кого не оскорблял, я написал то что есть, о каких запросах в БД идет речь, если ты не знаешь о существовании цикла for? и зачем мне понимать, возьми и напиши что реальный запрос выглядит по другому, тут вроде как должны помогать, а не ребусы отгадывать, что там у тебя и где. И если кто то не может понять, а тут ни кто не понял с первого, ни со второго раза что за хрень надо сделать, это исключительно твои недоработки.
Подскажу трюк, который при определенном раскладе может делать массовый UPDATE в один запрос: Код (PHP): INSERT INTO footable(id, barfield) VALUES (1, 'new ololo'), (2, 'new pyshpysh'), (3, 'new djagadjaga') ON DUPLICATE KEY UPDATE barfield = VALUES(barfield) Использовать с осторожностью! Только если понимаешь что происходит.