Door
Daniel Leppink
op 10-06-2011 21:08
gewijzigd op 10-06-2011 21:25
1.258 views
Hallo ik ben een beginner in de php wereld.
En als ik de while loop gebruik van mysql_fetch_array.
En ik bouw daar een if else statement achter dan laat hij alleen maar de if statement zien als dat waar is en als het niet waar is laat hij niet de else zien.
Hoe kan dit?
Als ik hetzelfde principe buiten een while loop doe zoals onder de streepjes lijn laat hij de else wel zien.
if($zoekwoord == ""){
echo "U heeft geen nummer ingevoerd";
}
elseif(!filter_var($zoekwoord, FILTER_VALIDATE_INT)){
echo "U mag alleen cijfers invoeren van 0-9";
}
else{
echo "Uw zoek opdracht is verwerkt";
//Zoek met de regel hieronder op 2 woorden.
//$query = "SELECT * FROM gegevens WHERE rekeningnr_db LIKE '%$zoekwoord%' or rekeningnr_db LIKE '%$zoekwoord%'";
$query = "SELECT * FROM gegevens WHERE rekeningnr_db LIKE '%$zoekwoord%'";
$result_db = mysql_query($query);
while($row = mysql_fetch_array($result_db))
if ($row['rekeningnr_db'] == $zoekwoord){
echo "<br/> Na if : ".$row['voornaam_db'];
}
else{
echo "<br/> Rekening nummer is niet gevonden.";
}
}
He hallo ik heb net even de code weer geupdate want dat typen in die textfield om een topic te plaatsen valt nog niet mee als er veel tekst in staat. De scrollbar springt steeds naar boven.
He thanx dat heb je snel gezien. Ik dacht al?... het moet toch willen.
[size=xsmall]Toevoeging op 10/06/2011 21:44:07:[/size]
Gerhard l op 10/06/2011 21:29:07
waarom gebruik je like? je gaat toch geen rekeningnummer ongeveer intypen? gebruik ook geen * geef aan wat je wil aangeven
Ik heb even het script weggehaalt. Anders worden de reakties zo lang.
Maar mijn bedoeling was om te kunnen zoeken in een database om dat wat te leren.
Ja en dat * dat klopt dat zou ik ook nog wel verandert hebben. Maar dit script is meer een probeersel van mij en om dingen te oefenen.
Maar in ieder geval bedankt voor je reaktie en ik zou ook nog even naar jouw code kijken en er van proberen te leren. :)
Ja ik reken je er ook niet op af, vroeg me het gewoon af als je werkt met rekening nummers zou ik niet gaan werken met like omdat ze toch uniek zijn. Dat kun je meer gebruiken bij zoeken op namen ofzo, maar kijk maar even of je nog wat nuttigs uit mijn voorbeeld kan halen.
was ik nog niet echt tegen gekomen met leren of mee bezig geweest.
Ik wou eerst proberen of ik uberhaupt wat uit de database kon halen. Haha.
Maar goed. Maar toch mooi voor de reaktie.
Jow...
[quote="Gerhard l op 10/06/2011 21:48:15"]
......... omdat ze toch uniek zijn.
Gerhard l op 10/06/2011 21:29:07
<?php
//meer dan 0 resultaten is succes
if(mysql_num_rows($query) > 0){
while($row = mysql_fetch_assoc($query)){
echo $row['rekeningnr_db'].'<br/>';
}
}
?>
Waarom dan een while()?
[/quote]
ik voelde hem al aankomen ;)
@topic starter
zoals in jou geval kan er maar 1 resultaat uit de database komen, dan heb je geen while nodig:
<?php
$query = "SELECT rekeningnr_db FROM gegevens WHERE rekeningnr_db = '".mysql_real_escape_string($_POST['zoekwoord']."'";
//is de query gelukt?
if($query){
//meer dan 0 resultaten is succes
if(mysql_num_rows($query) == 1){
$row = mysql_fetch_assoc($query);
echo $row['rekeningnr_db'].'<br/>';
}
}
else{
//er zijn meerdere resultaten dus er is iets mis
}
}
else{
echo 'error '.mysql_error();
}
?>