23. august 2007 - 23:18Der er
3 kommentarer og 1 løsning
Sikrer sig at kun 1 post i SQL er "1"
En simpel og dårligt lavet måde at få den til at skifte mellem de 5 konsulenter hver gang en "ny kunde" kommer ind på siden, men hvordan sikrer jeg mig at kun 1 post er lig 1?
Du kunne i stedet for at sætte $aktiv, sætte et tidspunkt på den som sidste har lavet en opgave. Så vil du altid bare kunne vise den med ældst tid, og opdatere dennes tid når personen bliver valgt. Var det en løsning?
Som jacob siger, så er tid en nem mulighed, bare select den med lavest tid, og opdater tiden til now. Hvis du vil undgå det, så kan du have et felt "foobar" som sættes til 0 for alle fra starten, så "SELECT * FROM konsulenter ORDER BY foobar LIMIT 1" og så "UPDATE konsulenter SET foobar=foobar+1 WHERE ID=$info[ID]"
Hvis du så får 2 brugere "præcis" samtidigt, og den samme konsulent bliver valgt (fordi kunde #2 kommer ind, inden kunde #1 når at køre en UPDATE), så får den pågældne konsulent+2, og vil dermed bare blive smidt lidt længere tilbage i køen - alle bliver vist lige tit så.
mysql_connect($dbhost, $dbuser, $dbpass) or die(mysql_error()); mysql_select_db($dbname) or die(mysql_error()); $result = mysql_query("SELECT * FROM NxtKonsul"); while ($info = mysql_fetch_array($result)) { $aktiv = $info['id']; $sql = mysql_query("SELECT ref FROM konsulenter WHERE ID = '$aktiv'"); while ($info2 = mysql_fetch_array($sql)) {
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.