[PHP] Query geeft maar een resultaat

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Als ik de query uitvoer in phpmyadmin dan krijg ik 10 resultaten, met onderstaande code krijg ik slechts een resultaat. Denk zelf dat het zit in de mysql_fetch_object en dat het iets is met array? Wie kan mij op weg helpen.

Thanks.

PHP:
1
2
3
4
5
6
7
8
$ml=$spsdb->dbq("SELECT usergroupmembers.date,user.user,user.name,user.birthday,user.sex FROM usergroupmembers INNER JOIN user ON usergroupmembers.user=user.user WHERE usergroupmembers.group='".$id."' ORDER BY usergroupmembers.date DESC LIMIT 10");
$memberlist=false;
while ($mld=mysql_fetch_object($ml)){
$memberlist=<<<EOF
<a href="/lid/{$mld->user}">{$mld->name} ({$mld->sex}, {$SPS->leeftijd($mld->birthday)})</a><br>
EOF;
}
echo $memberlist;

Acties:
  • 0 Henk 'm!

  • Depress
  • Registratie: Mei 2005
  • Laatst online: 18-09 22:29
Denk dat het aan je INNER JOIN ligt.

Een INNER JOIN moet resultaat hebben, anders word data waar de join data aan word gekoppeld ook weg gelaten. Wat je kunt doen is een LEFT JOIN gebruiken, die kent dit probleem niet.

Of het is je LIMIT.
Gebruik de officele SQL syntax, namelijk LIMIT <offset>,<rowcount>.

[ Voor 17% gewijzigd door Depress op 26-07-2007 22:25 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Je krijgt keurig alle resultaten, maar maakt elke keer een nieuwe string met de heredoc syntax. Er wordt voor zover ik weet niets aan de bestaande string toegevoegd, de string wordt simpelweg elke iteratie vervangen door de laatste.

Volgens mij is het een kwestie van .= gebruiken in plaats van =
En dus wel even eerst de string initialiseren als lege string, en niet als false want dat slaat nergens op, ook al wordt dat gecast naar een string.

[ Voor 11% gewijzigd door Verwijderd op 26-07-2007 22:25 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
De . maakt het verschil. INNER of LEFT JOIN maakte met deze string geen verbetering. Harstikke bedankt ;)