Probleem bij zoek-pagina!

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

PHP Freak

PHP Freak

21/07/2004 10:02:00
Quote Anchor link
Ik heb namelijk een probleem bij mijn zoekpagina.
Als er meerdere zoekresultaten zijn gebruik ik dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?
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!
 
PHP hulp

PHP hulp

28/03/2024 22:48:53
 
Arend a

Arend a

21/07/2004 12:01:00
Quote Anchor link
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.
 
PHP Freak

PHP Freak

21/07/2004 14:12:00
Quote Anchor link
Thx, Arend!
Nu werkt het.

Bedankt!
 
PHP Freak

PHP Freak

21/07/2004 14:19:00
Quote Anchor link
eum, sorry Arend, het werkt toch niet!
hij vindt 2 resultaten en dan toont hij maar ééntje.
weet je wat het probleem is?

Thx!
 
Arend a

Arend a

21/07/2004 15:47:00
Quote Anchor link
Laat eens meer van de code zien?
 
PHP Freak

PHP Freak

21/07/2004 16:41:00
Quote Anchor link
Hier de volledige code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?
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!
 
B a s
Beheerder

B a s

21/07/2004 17:56:00
Quote Anchor link
tis niet:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$resultaten
= mysql_num_rows($sql);
?>


maar :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$resultaten
= mysql_num_rows($res);
?>
 
B a s
Beheerder

B a s

21/07/2004 17:58:00
Quote Anchor link
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 :)
 
PHP erik

PHP erik

21/07/2004 18:00:00
Quote Anchor link
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.
 
PHP Freak

PHP Freak

21/07/2004 19:16:00
Quote Anchor link
Thx allemaal!
Nu lukt het. Ik ben jullie allemaal heel dankbaar!

Thx,
PHP Freak!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.