Hallo allen,
Ik heb een sortable list d.m.v. JQuery-ui. Wanneer de posities zijn veranderd van de lijst, moeten er op de achtergrond ook dingen worden veranderd in de database. (Aangezien aan de lijst weer kleuren zitten en deze moeten worden laten zien op dezelfde manier als hoe de lijst is gesorteerd.)
Zodra er wat is veranderd in de lijst, dan wordt er een AJAX request gedaan. In de php file verander ik de posities, zoals ik die krijg en sla dit op in de database. Vervolgens moeten de kleuren, welke in een andere tabel staan, ook gesorteerd worden aan de hand van de lijst. (Kleuren worden zo opgeslagen; rood,groen,geel,etc (Comma seperated dus.) Dit gaat allemaal prima.
Vervolgens moet ik dit updaten in de database en daar gaat het nu juist fout. Het volgende stuk code gaat het fout;
$new_status_color geeft in dit geval de juiste volgorde mee van de kleuren. Maar, zodra ik mysqli_query() of mysql_query() gebruik, geeft het mij dezelfde query weer terug.
Een voorbeeld van wat er gebeurt wanneer ik mysqli_query() gebruik.
Een lijst met kleuren er achter;
Zodra ik mysqli_query() weg haal, krijg ik continu de juiste resultaten terug, maar zodra ik dus mysqli_query() gebruik gaat het fout.
Meerdere dingen geprobeerd;
Ik heb een sortable list d.m.v. JQuery-ui. Wanneer de posities zijn veranderd van de lijst, moeten er op de achtergrond ook dingen worden veranderd in de database. (Aangezien aan de lijst weer kleuren zitten en deze moeten worden laten zien op dezelfde manier als hoe de lijst is gesorteerd.)
Zodra er wat is veranderd in de lijst, dan wordt er een AJAX request gedaan. In de php file verander ik de posities, zoals ik die krijg en sla dit op in de database. Vervolgens moeten de kleuren, welke in een andere tabel staan, ook gesorteerd worden aan de hand van de lijst. (Kleuren worden zo opgeslagen; rood,groen,geel,etc (Comma seperated dus.) Dit gaat allemaal prima.
Vervolgens moet ik dit updaten in de database en daar gaat het nu juist fout. Het volgende stuk code gaat het fout;
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| $y = 0; $new_array = array(); foreach ($status_colors as $values) { //Herorder de posites met de bijbehorende kleuren. for ($i = 0; $i < count($positions); $i++) { $new_array[$positions[$i]] = $values[$i]; } //Sorteren op key ksort($new_array); $update_reorder_status_color = 'UPDATE colors SET color="'. mysqli_real_escape_string($link, implode(',', $new_array)) .'" WHERE building_id="'. mysqli_real_escape_string($link, $vestiging_ids[$y]) .'"'; //Hier gaat het fout mysqli_query($link, $update_reorder_status_color)or die(mysqli_error($link)); $y++; } |
$new_status_color geeft in dit geval de juiste volgorde mee van de kleuren. Maar, zodra ik mysqli_query() of mysql_query() gebruik, geeft het mij dezelfde query weer terug.
Een voorbeeld van wat er gebeurt wanneer ik mysqli_query() gebruik.
Een lijst met kleuren er achter;
- Item 1 - Groen
- Item 2 - Zwart
- Item 3 - Rood
- Item 3 - Rood
- Item 1 - Groen
- Item 2 - Zwart
Zodra ik mysqli_query() weg haal, krijg ik continu de juiste resultaten terug, maar zodra ik dus mysqli_query() gebruik gaat het fout.
Meerdere dingen geprobeerd;
- Cache, maar dit mocht niet baten.
- Debuggen van queries, geen fouten kwamen terug.
- Het updaten naar de database toe uit de loop gehaald, mocht niet baten.