MySql ausgabe mit PHP überprüfen

crashx

Erfahrenes Mitglied
Wieder mal ich mit meinen Problemen :)

Über ein <input> feld kann man ein stichwort eingeben.
Das eingegebene "stichwort" übergebe ich dan normal mittels POST.
Danach kommt der MySQL teil, wo gesucht wird ob das stichwort in "name" oder "text" vorhanden ist.
PHP:
$sql = "SELECT * 
	FROM `guestbook` 
	WHERE `name` LIKE '%".mysql_real_escape_string($_POST['search'])."%'
	OR `text` LIKE '%".mysql_real_escape_string($_POST['search'])."%'
	ORDER BY `id` 
	DESC LIMIT ".$abeintrag.",".$maxproseite.";
       ";
So weit so gut.
Nun muss ich aber prüfen ob das stichwort gefunden worden ist, wen es gefunden worden ist habe ich kein Problem nur wen das stichwort in der Datenbank nicht vorhaden ist.
Ich habe mit einer if bedingung in der while schleife herumgebastelt, aber das geht nicht wirklich.
Ich bräuchte einen Denkanstoss von euch.
PHP:
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result))
	{ 
		if(!empty($row['name']))
			{
				echo '<div class="gbtext">';
				echo '<b><u>'.$row['name'].'</b> schrieb am '.$row[datum].' um '.$row['zeit'].'</u><br><br>';
				echo $row['text'].'<br><br>';
				echo '</div>';
			}
		else
			{
				echo '<div class="gbtext">';
				echo '<b><u>Kein Eintrag mit "'.$_POST['search'].'" gefunden</u><br><br>';
				echo '<br>Versuchen Sie es doch erneut.<br>';
				echo '</div>';
			}	                          
	}
 
Was passiert denn? Bekommst du nen Fehler oder ähnliches? Schonmal beim mysql_result mit mysql_error() gearbeitet?
 
Wen das stichwort gefunden wird, zeigt es mir alle einträge an in welchemm das stichwort vorhanden ist.

wen das stichwort nicht vorhaden ist, zeigt es nichts an,
mysql_error(); berichtet keinen fehler, weil ja kein fehler besteht. Das einzige was ist, es gibt ja nichts zum Ausgeben wen das stichwort nicht mit einträgen übereinstimmt.

als will ich in dem Fall das ausgeben:

PHP:
echo '<div class="gbtext">';
														echo '<b><u>Kein Eintrag mit "'.$_POST['search'].'" gefunden</u><br><br>';
														echo '<br>Versuchen Sie es doch erneut.<br>';
														echo '</div>';
 
Versuch es mal hiermit:
PHP:
$result = mysql_query($sql);
if(mysql_num_rows($result) > 0)
{
    while($row = mysql_fetch_assoc($result))
    { 
        if(!empty($row['name']))
            {
                echo '<div class="gbtext">';
                echo '<b><u>'.$row['name'].'</b> schrieb am '.$row[datum].' um '.$row['zeit'].'</u><br><br>';
                echo $row['text'].'<br><br>';
                echo '</div>';
            }
    }
}
else
{
                echo '<div class="gbtext">';
                echo '<b><u>Kein Eintrag mit "'.$_POST['search'].'" gefunden</u><br><br>';
                echo '<br>Versuchen Sie es doch erneut.<br>';
                echo '</div>';
}
 
Zurück