Ik heb namelijk een probleem bij mijn zoekpagina.
Als er meerdere zoekresultaten zijn gebruik ik dit:

<?
for($x = 0;$x < $resultaten;$x++) {

echo "Gebruikersnaam: $lijst->gebruikersnaam<br>";

}
?>

Maar als er dan voorbeeld 3 resultaten zijn en de 1ste is "admin", dan toont hij bij alle 3 "admin".
Kan iemand mij helpen?

Alvast bedankt!
Het lijkt er ook niet op alsof je alle resultaten van $lijst gaat doorlopen.

while ($lijst = mysql_fetch_object($query)) {
echo "Gebruikersnaam: $lijst->gebruikersnaam<br>";
}

is de betere oplossing.
Thx, Arend!
Nu werkt het.

Bedankt!
eum, sorry Arend, het werkt toch niet!
hij vindt 2 resultaten en dan toont hij maar ééntje.
weet je wat het probleem is?

Thx!
Laat eens meer van de code zien?
Hier de volledige code:

<?
session_start();

if(isset($_SESSION['gebruikersnaam']) && isset($_SESSION['wachtwoord'])) {

if($_POST["actie"] == "Zoeken") {

$zoeken = $_POST["zoeken"];

mysql_connect("******","******","******");
mysql_select_db("******");

$sql = "SELECT gebruikersnaam FROM verkoopaccounts WHERE gebruikersnaam LIKE '%$zoeken%'";
$sql = mysql_query($sql) or die (mysql_error());
$lijst = mysql_fetch_array($sql);
$resultaten = mysql_num_rows($sql);

if($resultaten == 1) {

echo "<i>Er is 1 resultaat gevonden:</i><br>
<br>
Gebruikersnaam: $lijst[gebruikersnaam]<br>";

} elseif($resultaten > 1) {

echo "<i>Er zijn $resultaten resultaten gevonden:</i><br>
<br>";

while($lijst2 = mysql_fetch_object($sql)) {

echo "Gebruikersnaam: $lijst2->gebruikersnaam<br>";

}

} else {

echo "<i>Er zijn geen resultaten gevonden!</i>";

}

} else {

$gebruikersnaam = $_SESSION['gebruikersnaam'];

echo "Wat wilt u zoeken, $gebruikersnaam?<br>
<form method='POST' action='".$_SERVER["PHP_SELF"]."'>
<input type='text' name='zoeken'><br>
<input type='submit' name='actie' value='Zoeken'>
</form>";

}

} else {

echo "U kan niet zoeken, want u bent niet ingelogd!";

}
?>

Thx!
tis niet:

<?
$resultaten = mysql_num_rows($sql);
?>

maar :

<?
$resultaten = mysql_num_rows($res);
?>
erm.. ik zie nu dat je ook $sql voor mysql_query() gebruikt :S

haal deze eens weg:
$lijst = mysql_fetch_array($sql);

en probeer het dan nog eens.. dan moettie het doen lijkt mij :)
Bas, als je erop doelt dat ie de interne pointer dan weer aan het begin zet, dan heeft het volgens mij geen nut. Hij maakt bij allebei een kopie van de array. Dus als je 2x fetcht, dan zijn het 2 aparte arrays.

Maar je hebt gelijk dat die $lijst zowieso overbodig is.
Thx allemaal!
Nu lukt het. Ik ben jullie allemaal heel dankbaar!

Thx,
PHP Freak!

Reageren