ik heb het volgende script:

$select = "SELECT * FROM `materieel` WHERE `naam` = '".$_GET['nummer']."'";
$query = mysql_query($select);
while ($materieel = mysql_fetch_object($query))
{
echo 'nummer: '.$materieel->nummer.'';
}

Hoe kan ik er voor zorgen dat als er geen resultaten zijn dus dat hij het niet kan vinden dat er een bericht komt met "geen resultaten" ? want else werkt niet overgens ben php noob
<?php
if(count($materieel = mysql_fetch_object($query)))
{
// wat er moet gebeuren als er resultaten zijn
}
else
{
// geen resultaten
}
?>

ik dacht dat het zo ging

oh, en je kan beter een for loop gebruiken ipv een while denk ik.
@ Tamara, Waarom niet gewoon mysql_num_rows?

<?php
$select = "SELECT * FROM `materieel` WHERE `naam` = '".$_GET['nummer']."'";
$query = mysql_query($select);
if(mysql_num_rows($query) > 0)
{
while ($materieel = mysql_fetch_object($query))
{
echo 'nummer: '.$materieel->nummer.'';
}
}
else
{
echo 'Geen resultaat!'
}
?>

edit: Hier staat hoe je het netjes kan afhandelen: http://phptuts.nl/view/41/7/


[php]mysql_num_rows[/php]().

Script is lek => SQL-Injection.
Geen backtics gebruiken.
Foutafhandeling ontbreekt.
ok thx :) @yearupie
Doe het dan ook meteen een beetje beveiligen voor de grap:

<?php
$sql = "SELECT * FROM materieel WHERE naam = '".mysql_real_escape_string($_GET['nummer'])."'";

if(!$res = mysql_query($sql))
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
elseif(mysql_num_rows($res) == 0)
{
echo 'Geen resultaten gevonden';
}
else
{
while ($materieel = mysql_fetch_object($query))
{
echo 'nummer: '.$materieel->nummer.'';
}
}
?>
@Yearupie: Netjes, maar wat doet doet die '' daar achteraan op regel 16?

Reageren