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
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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