Hallo allen,
Ik heb een beetje het idee dat ik aan het zoeken ben naar iets wat niet kan. Aangezien ik veel antwoorden vind (google, GoT, andere fora), maar die zijn voor een andere vraag.
De antwoorden die ik vond werkten of met een loop om meer dan 1 query uit te voeren of werkten de meerdere rijen bij met 1 waarde. En ik wil dus meerdere rijen bijwerken met verschillende waarden in 1 query.
Voorbeeld:
Ik krijg deze array uit een $POST:
[order_nr] => Array
(
[1] => 0
[2] => 10
[3] => 20
[4] => 30
[5] => 40
[6] => 50
)
en ik wil in tabel `menu` de velden `menu_order` updaten van in dit geval 6 rijen. (de identifier is hier ook `menu_id`).
Kan dat dan met 1 query die hier op lijkt?:
(de query wordt dan d.m.v. een loop gegenereerd)
De bovenstaande query is technisch wel in orde, maar doet niet wat ik wil. De eerste waarde onder SET moet corresponderen met de eerste waarde bij WHERE enz.
Kan dit?
Ik gebruik overigens PHP4.4.2 en MySQL4.1.14
Ik heb een beetje het idee dat ik aan het zoeken ben naar iets wat niet kan. Aangezien ik veel antwoorden vind (google, GoT, andere fora), maar die zijn voor een andere vraag.

De antwoorden die ik vond werkten of met een loop om meer dan 1 query uit te voeren of werkten de meerdere rijen bij met 1 waarde. En ik wil dus meerdere rijen bijwerken met verschillende waarden in 1 query.
Voorbeeld:
Ik krijg deze array uit een $POST:
[order_nr] => Array
(
[1] => 0
[2] => 10
[3] => 20
[4] => 30
[5] => 40
[6] => 50
)
en ik wil in tabel `menu` de velden `menu_order` updaten van in dit geval 6 rijen. (de identifier is hier ook `menu_id`).
Kan dat dan met 1 query die hier op lijkt?:
(de query wordt dan d.m.v. een loop gegenereerd)
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| $sql = 'UPDATE `menu` SET `menu_order` = 0, `menu_order` = 10, `menu_order` = 20, `menu_order` = 30, `menu_order` = 40, `menu_order` = 50 WHERE `menu`.`menu_id` = 1 AND `menu`.`menu_id` = 2 AND `menu`.`menu_id` = 3 AND `menu`.`menu_id` = 4 AND `menu`.`menu_id` = 5 AND `menu`.`menu_id` = 6'; |
De bovenstaande query is technisch wel in orde, maar doet niet wat ik wil. De eerste waarde onder SET moet corresponderen met de eerste waarde bij WHERE enz.
Kan dit?
Ik gebruik overigens PHP4.4.2 en MySQL4.1.14