Avatar billede nicocarlos Nybegynder
23. oktober 2004 - 15:38 Der er 4 kommentarer og
1 løsning

2 while i træk virker ikke

Disse virker ikke:
$buildings="SELECT * from joined";
$buildings2=mysql_query($buildings) or die("Could not get building stats");
while($buildings3=mysql_fetch_array($buildings2))
{
$onlinestats="SELECT * from users where username='$buildings3[username]' order by lastlogin DESC";
$onlinestats2=mysql_query($onlinestats) or die("Could not get your stats");
while ($onlinestats3 = mysql_fetch_array($onlinestats2))
{
alt mit info er her

}
}

Det virker ikke den vil ikke vise info rigtigt :/
er der en fejl i while sætningen?
Avatar billede jakobdo Ekspert
23. oktober 2004 - 15:48 #1
Prøv at ret din die til:
die('Invalid query: ' . mysql_error());
Så kan du evt se om det er din SQL som driller!
Tror måske det kunne være denne: $onlinestats="SELECT * from users where username='$buildings3[username]' order by lastlogin DESC";
Avatar billede jakoba Nybegynder
23. oktober 2004 - 15:51 #2
der er ikke nogen fejl i dine while sætninger ( og heller ikke i phps implementering af while :-))

prøv evt med nogen debug-linier for at finde ud af hvad der sker:

$buildings="SELECT * from joined";
$buildings2=mysql_query($buildings) or die("Could not get building stats");
echo "buildings query fandt "
    .mysql_num_rows( $buildings2 )
    ." rækker<br>";          //DEBUG LINIE  (fjernes når det duer)         
while($buildings3=mysql_fetch_array($buildings2))
{
    $onlinestats="SELECT * from users where username='$buildings3[username]' order by lastlogin DESC";
    $onlinestats2=mysql_query($onlinestats) or die("Could not get your stats");
    echo "onlinestats query fandt "
        .mysql_num_rows( $onlinestats2 )
        ." rækker<br>";          //DEBUG LINIE  (fjernes når det duer)         
    while ($onlinestats3 = mysql_fetch_array($onlinestats2))
    {
        alt mit info er her
    }
}

bemærk at det er muligt at lave ordentlige indrykninger i kode postet her på e. please!

mvh JakobA
Avatar billede coderdk Praktikant
23. oktober 2004 - 17:27 #3
Ville det ikke være lettere at lave det i én query?

SELECT j.*, u.* FROM joined j INNER JOIN users u ON j.username = u.username ORDER BY u.lastlogin DESC
Avatar billede nicocarlos Nybegynder
23. oktober 2004 - 22:49 #4
SELECT j.*, u.* FROM joined j INNER JOIN users u ON j.username = u.username ORDER BY u.lastlogin DESC

virker åbentbart når det er i en sætning, læg svar :)
Avatar billede coderdk Praktikant
24. oktober 2004 - 00:37 #5
Ok :)
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