11. august 2008 - 11:17
Der er
6 kommentarer og 1 løsning
Array i mysql udtræk
Hejsa. Jeg har flg kode: $q = mysql_query("SELECT * FROM noget ORDER BY RAND() LIMIT 1"); Det jeg så har forsøgt: $a = mysql_query("SELECT * FROM taken WHERE userid = '".$userid."'"); $taken = mysql_fetch_array($a); $q = mysql_query("SELECT * FROM noget WHERE id NOT IN ('".implode("', '", $taken)."') ORDER BY RAND() LIMIT 1"); Jeg håber i kan se hvad det er jeg vil opnå med dette. Men jeg gør det nok forkert, for det virker ikke rigtig :S Håber der er nogen der har en løsning:D
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
11. august 2008 - 11:57
#1
Du kan: $a = mysql_query("SELECT * FROM taken WHERE userid = '".$userid."'"); $taken = array(); while($r = mysql_fetch_assoc($a)) { $taken[] = $r["id"]; } eller lave det i en query.
11. august 2008 - 11:57
#2
Og hent altid kun de felter du skal bruge.
11. august 2008 - 12:26
#3
Altså at erstatte * med id ? Hvad er fordelen med det? Ihvertfald så virker det smukt.. Ligger du et svar?
11. august 2008 - 12:29
#4
Ulempen ved * er, at alle oplysninger hentes. Ved id hentes kun id, og derved er performance enormt meget bedre.
11. august 2008 - 12:31
#5
Der er jo ingen grund til at hente mere info end du skal bruge! Og du kan vist: $sql = "SELECT * FROM noget WHERE id NOT IN (SELECT id FROM taken WHERE userid = ".(int)$userid.") ORDER BY RAND() LIMIT 1"); Men er ikke lige helt sikker på dine navne :O)
11. august 2008 - 12:54
#6
Super duper simpelthen :D Så siger jeg mange tak :D Smider du et svar?
11. august 2008 - 15:39
#7
ok
Vi tilbyder markedets bedste kurser inden for webudvikling