Beste Tweakers 
Ik ben bezig met een soort van admin pagina in PHP, hiermee moet men schilderijen kunnen sorteren. Dit heb ik als volgt gedaan:
Je kunt kiezen hoe ver (=x) je het schilderij naar boven of naar onder wilt verplaatsen (middels een dropdownlist). Vervolgens zoekt PHP de rij id_te_verplaatsen_rij + x en de rij id_te_verplaatsen_rij + x + 1. Daar pak ik het gemiddelde van en dat wordt het "ordernummer" van de rij.
Bijv. ik heb rij 1, 2, 3 en 4 stel ik wil rij 4, 2 plaatsen naar voren halen krijgt rij 4 het nummer 2 / 3 = 2.5.
Nu kun je je voorstellen dat er steeds meer decimalen bij komen, kan ik vertrouwen op het aantal decimalen van het MySQL type double?
Ik had ook al aan het volgende gedacht:
Maar dit is niet bepaald database vriendelijk.
Kan iemand me vertellen of het type double voldoet? Of heeft iemand een idee om m'n sorteer algoritme te verbeteren?
Alvast bedankt voor het meedenken
[edit]
Hmpff, titel vergeten af te maken
, misschien dat een modje 'm even kan veranderen...
Ik ben bezig met een soort van admin pagina in PHP, hiermee moet men schilderijen kunnen sorteren. Dit heb ik als volgt gedaan:
Je kunt kiezen hoe ver (=x) je het schilderij naar boven of naar onder wilt verplaatsen (middels een dropdownlist). Vervolgens zoekt PHP de rij id_te_verplaatsen_rij + x en de rij id_te_verplaatsen_rij + x + 1. Daar pak ik het gemiddelde van en dat wordt het "ordernummer" van de rij.
Bijv. ik heb rij 1, 2, 3 en 4 stel ik wil rij 4, 2 plaatsen naar voren halen krijgt rij 4 het nummer 2 / 3 = 2.5.
Nu kun je je voorstellen dat er steeds meer decimalen bij komen, kan ik vertrouwen op het aantal decimalen van het MySQL type double?
Ik had ook al aan het volgende gedacht:
PHP:
1
2
3
4
5
6
7
8
9
10
| $sql = "SELECT `id` FROM `painting` ORDER BY `order` ASC"; $result = $mysql->query ( $sql ); $i = 1; while ( $object = mysql_fetch_object ( $result ) ) { $sql = "UPDATE `painting` SET `order` = " . $i . " WHERE `id` = " . $object->id; $mysql->query ( $sql ); $i++; } |
Maar dit is niet bepaald database vriendelijk.
Kan iemand me vertellen of het type double voldoet? Of heeft iemand een idee om m'n sorteer algoritme te verbeteren?
Alvast bedankt voor het meedenken
[edit]
Hmpff, titel vergeten af te maken
[ Voor 7% gewijzigd door R_W op 03-03-2004 06:05 ]