Avatar billede andsvel Nybegynder
01. oktober 2008 - 14:29 Der er 2 kommentarer

while troubles

Hey jeg roder lidt rundt i 2 while(){}'s
Mit problem er at den første while henter noget der definere hvad den anden while skal hente.

Den anden while skal køre en gang for hver linje den første finder, hvis det giver mening?

Det skal ende med at $checkmappeunder = "true"; medmindre den finder en linje i den 2. while hvor $check = 0

Håber det giver en smule mening :-)

koden:

// PROBELEMET = DEN SKAL KØRE ALLE MAPPER IGENNEM; MEN KØRER KUN DEN NÆSTE UNDER DEN SELV.
$checkmappeunder = "true";
$forespnew = mysql_query("SELECT * FROM database1 WHERE m_u_id = '$m_id' ORDER BY m_id")or die(mysql_error());
if (mysql_num_rows($forespnew)==0) {$checkmappeunder = "true";}
while($datanew = mysql_fetch_array($forespnew)){
    $m_id_new = $datanew[m_id];   
    $m_u_id = $datanew[m_u_id];
   
   
$foresp22ew = mysql_query("SELECT * FROM database2 WHERE m_u_id = '$m_id_new'")or die(mysql_error());
while($data22ew = mysql_fetch_array($foresp22ew)){
$check = $data22ew[check];
  if($check == 0){$checkmappeunder = "false";}
  if($checkmappeunder == ""){ $checkmappeunder = "true";}
}
}
//PROBLEMET SLUT
Avatar billede dmdisco Nybegynder
01. oktober 2008 - 23:45 #1
kunne det tænkes at du kunne løse det lidt mere elegant og effektivt med at left joine den ene tabel på den anden?
evt. SELECT * FROM database1 LEFT JOIN database2 ON database1.m_id=database2.m_u_id WHERE database1.m_u_id = '".$m_id."' ORDER NY database1.m_id

og så lave et tjek på om den indeholder check der er lig 0 og hvis den finder det så stoppe løkken med break
Avatar billede andsvel Nybegynder
16. oktober 2008 - 11:25 #2
Beklager ventetiden, jeg vender tilbage snarest
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