22. oktober 2008 - 15:36Der er
10 kommentarer og 1 løsning
Opdatere en tabel med data
Hej Eksperter
Jeg har en mySQL tabel der hedder users, og i den tabel er der bl.a en række der hedder barvagt, og en række der hedder ancinitet. Barvagt indeholder enten 0 eller 1. 1 hvis man skal have en barvagt. Barvagten skal gå på omgang efter ancinitet som går fra 1 - xx
Jeg har brug for at lave et script, som når det bliver kørt, rykker barvagten én ancinitet op, men ikke højere end der er ancinitet til. Med andre ord hvis barvagten står til 1 hos den bruger der har den højeste ancinitet, så skal den efterfølgende flyttes til brugeren med laveste ancinitet.
Håber spørgsmålet et til at forstå. Jeg er IKKE en haj til hverkan php eller mySQL
den skal sende barvagten videre til personen med den laveste (dog højere end den der pt har vagten), ancinitet. men hvis der ikke er nogen der har højere, skal den gå til den med lavest?
det kan muligvis laves simplere, men følgende gørhvad du ønsker, hvis jeg har forstået dit system rigtigt...
//HENTER ANCINITETEN FOR DEN DER HAR VAGTEN $res1 = query("SELECT anc FROM barvagt WHERE vagt='1' LIMIT 1"); $vagt = mysql_fetch_array($res1);
//HENTER ID FOR DEN DER HAR NÆSTE TRIN PÅ ANCINITETSTRAPPEN $res2 = query("SELECT id FROM barvagt WHERE anc>".$vagt[anc]." ORDER BY anc ASC LIMIT 1");
//HVIS DER IKKE ER NOGEN HØJERE OPPE PÅ TRAPPEN, VÆLGER VI DEN NEDERSTE if(mysql_num_rows($res2)>0){ $ny_vagt = mysql_fetch_array($res2); }else{ $res3 = query("SELECT id FROM barvagt WHERE anc>0 ORDER BY anc ASC LIMIT 1"); $ny_vagt = mysql_fetch_array($res3); }
//GIVER VAGTEN TIL DEN VALGTE query("UPDATE barvagt SET vagt='1' WHERE id='".$ny_vagt[id]."'");
//HENTER ANCINITETEN FOR DEN DER HAR VAGTEN $res1 = query("SELECT id, anc FROM barvagt WHERE vagt='1' LIMIT 1"); $gl_vagt = mysql_fetch_array($res1);
//HENTER ID FOR DEN DER HAR NÆSTE TRIN PÅ ANCINITETSTRAPPEN $res2 = query("SELECT id FROM barvagt WHERE anc>".$gl_vagt[anc]." ORDER BY anc ASC LIMIT 1");
//HVIS DER IKKE ER NOGEN HØJERE OPPE PÅ TRAPPEN, VÆLGER VI DEN NEDERSTE if(mysql_num_rows($res2)>0){ $ny_vagt = mysql_fetch_array($res2); }else{ $res3 = query("SELECT id FROM barvagt WHERE anc>0 ORDER BY anc ASC LIMIT 1"); $ny_vagt = mysql_fetch_array($res3); }
//GIVER VAGTEN TIL DEN VALGTE query("UPDATE barvagt SET vagt='1' WHERE id='".$ny_vagt[id]."'");
//FJERNER VAGTNE FRA DEN DER HAVDE DEN TIL AT STARTE MED query("UPDATE barvagt SET vagt='0' WHERE id='".$gl_vagt[id]."'");
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.