Avatar billede shjorth Nybegynder
31. august 2008 - 17:37 Der er 6 kommentarer og
1 løsning

Array i MySQL

Hejsa..

Det er meningen af flg skal udelukke alle de id der findes i jobs_perf, men den udelukker kun een. Er der nogen der kan se en fejl?

$job_perf_q = mysql_query("SELECT jobid FROM jobs_perf WHERE userid = '".$user_id."'")or die(mysql_error());
$job_done_array = mysql_fetch_array($job_perf_q);

$job_q = mysql_query("SELECT * FROM jobs WHERE id NOT IN ('".implode("', '", $job_done_array)."')ORDER BY level ASC LIMIT 5")or die(mysql_error());

Takker mange gange :)
Avatar billede w13 Novice
31. august 2008 - 17:42 #1
Hvad får du udskrevet med:

echo "SELECT * FROM jobs WHERE id NOT IN ('".implode("', '", $job_done_array)."')ORDER BY level ASC LIMIT 5";

?
Avatar billede shjorth Nybegynder
31. august 2008 - 17:45 #2
Erh?
Der er X inputs i job_perf som har "userid" og så et jobid, der svarer til et ID i jobs databasen.
Alle dem der findes i job_perf skal ikke medtages i kaldet til jobs databasen.
Det er altså jobs der er udført.
Forstår du  hvad jeg vil opnå?
Avatar billede wanze Nybegynder
31. august 2008 - 17:53 #3
$job_done_array = mysql_fetch_array($job_perf_q);

Det du forsøger at gøre er:

while ($x = mysql_fetch_array($job_perf_q)
  $job_done_array[] = $x;

Jeg er dog overbevist om at du kan klare det hele i én MySQL-query, men da jeg ikke lige kender din databasestruktur er det lidt svært at komme med et eksakt forslag, men prøv noget lignende:

"SELECT * FROM jobs WHERE id NOT IN (SELECT jobid FROM jobs_perf WHERE userid = '{$user_id}') a ORDER BY level ASC LIMIT 5".
Avatar billede shjorth Nybegynder
31. august 2008 - 17:57 #4
Og det virkede jo perfekt.. Smart ;)
Smider du et svar :)?
Avatar billede wanze Nybegynder
31. august 2008 - 18:32 #5
Det gør jeg bestemt. Hvilken virkede perfekt? While-løkken? Hvis jeg var dig ville jeg dog arbejde lidt på at få den nederste til at virke - jeg ved, det kan lade sig gøre, og det er både hurtigere og bruger færre ressourcer. :-)
Avatar billede shjorth Nybegynder
31. august 2008 - 19:17 #6
Det var den jeg fik til at virke ;) Så det var lige som det skulle være :)
Avatar billede wanze Nybegynder
31. august 2008 - 19:41 #7
Det var jo kanon. :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB