Forum


Suchen Forum RSS RSS2 SuchenSuchen Mitgliederliste Mitgliederliste RegistrierenRegistrieren ProfilProfil Login


Info: Der Forenbetrieb wurde leider eingestellt.

Gehe zu: » Forum » PHP und MySQL » Suchausgabe: Fehler abfangen bei keinem Treffer

Seite: 1

Thema
Autor
Suchausgabe: Fehler abfangen bei keinem Treffer
Beitrag von tron am: 20.08.2009 14:31:34

Hallo,

ich habe eine kleine Suche für Mitglieder gemacht. Wenn man nichts eingibt, wird eine entsprechende Meldung ausgegeben, jedoch schaffe ich es nicht, wenn man einen Namen sucht und es wird kein Treffer gefunden, dass auch eine Fehlermeldung erscheint. Hier mein Code:

PHP-Code:
<?php require("./mli.php"); } $name = mysql_real_escape_string($_POST['name']); ?> <div align=center> <img src="./images/hlogin.png" border=0 width=24 height=24 align=top> <font size=+1 color=#003080><b>Mitgliedersuche</b></font></font> <br /><br /> <b>Sie haben nach dem Namen: <font color=#A02020><b><?php echo $name; ?></b></font> gesucht. Dadurch wurden folgende Einträge gefunden:</b><br /><br />   <?php   $result = mysql_query (" SELECT * FROM `user` WHERE `user` LIKE '%$name%' OR `email` LIKE '%$name%' OR `land` LIKE '%$name%' OR `id` LIKE '%$name%' ") or die(mysql_error());   if($name == '') { echo '<img src="./images/del.png" border=0 width=24 height=24 align=absmiddle> Sie haben keinen Suchbegriff eingegeben<br />';   }else{   echo '<table width=800 border=0 cellspacing=1 cellpadding=4 bgcolor=#DFDFDF><tr>'; echo '<td height=20 align=center background="./images/schatten2.png" width=50><b>Nr</b></td>'; echo '<td align=center background="./images/schatten2.png"><b>Mitglied</b></td>'; echo '<td align=center background="./images/schatten2.png" width=200><b>Land</b></td>'; echo '<td align=center background="./images/schatten2.png" width=100><b>Mitglied seit</b></td>'; echo '<td align=center background="./images/schatten2.png" width=100><b>um</b></td>'; echo '<td align=center background="./images/schatten2.png" width=50><b>eMail</b></td></tr>';   while($row = mysql_fetch_array($result)) {   if(!$result){ echo '<tr><td colspan=6 bgcolor=#FFFFFF align=center><font color=#9F0000>Kein Treffer</font></td></tr>'; }else{   echo '<tr>'; echo '<td align=center bgcolor=#FFFFFF>'.$row['id'].'</td>'; echo '<td align=center bgcolor=#FFFFFF><a href="member.php?user='.mysql_real_escape_string($row['user']).'">'.$row['user'].'</td>'; echo '<td align=center bgcolor=#FFFFFF>'.$row['land'].'</td>'; echo '<td align=center bgcolor=#FFFFFF>'.$row['datum'].'</td>'; echo '<td align=center bgcolor=#FFFFFF>'.$row['zeit'].' Uhr</td>'; echo '<td align=center bgcolor=#FFFFFF><a href="mailto:'.$row['email'].'"><img src="./images/email.png" border=0 width=24 height=24></a></td>'; echo '</tr>'; } } echo '</table>'; } ?>


Ich finde den Fehler nicht #Devil#


tron
Benutzer


Beiträge: 25
OFF PN Schicken Homepage
AW: Suchausgabe: Fehler abfangen bei keinem Treffer
Beitrag von PAS am: 22.08.2009 10:22:24

Hi,

also ich würd es so einfach machen:

PHP-Code:
<?php require("./mli.php"); $name = strip_tags(trim($_POST['name']));   ?> <div align=center> <img src="./images/hlogin.png" border=0 width=24 height=24 align=top> <font size=+1 color=#003080><b>Mitgliedersuche</b></font></font> <br /><br /> <b>Sie haben nach dem Namen: <font color=#A02020><b><?=$name; ?></b></font> gesucht. Dadurch wurden folgende Einträge gefunden:</b><br /><br />   <?php if ($name == '') { echo '<img src="./images/del.png" border=0 width=24 height=24 align=absmiddle> Sie haben keinen Suchbegriff eingegeben<br />'; } else { $result = mysql_query ("SELECT * FROM `user` WHERE CONCAT(`user`, `email`, `land`, `id`) LIKE '%" . mysql_real_escape_string($name) . "%'") or die(mysql_error());   echo '<table width=800 border=0 cellspacing=1 cellpadding=4 bgcolor=#DFDFDF><tr>'; echo '<td height=20 align=center background="./images/schatten2.png" width=50><b>Nr</b></td>'; echo '<td align=center background="./images/schatten2.png"><b>Mitglied</b></td>'; echo '<td align=center background="./images/schatten2.png" width=200><b>Land</b></td>'; echo '<td align=center background="./images/schatten2.png" width=100><b>Mitglied seit</b></td>'; echo '<td align=center background="./images/schatten2.png" width=100><b>um</b></td>'; echo '<td align=center background="./images/schatten2.png" width=50><b>eMail</b></td></tr>';   if (mysql_num_rows($result)) { while ($row = mysql_fetch_array($result)) { echo '<tr>'; echo '<td align=center bgcolor=#FFFFFF>' . $row['id'] . '</td>'; echo '<td align=center bgcolor=#FFFFFF><a href="member.php?user=' . mysql_real_escape_string($row['user']) . '">' . $row['user'] . '</td>'; echo '<td align=center bgcolor=#FFFFFF>' . $row['land'] . '</td>'; echo '<td align=center bgcolor=#FFFFFF>' . $row['datum'] . '</td>'; echo '<td align=center bgcolor=#FFFFFF>' . $row['zeit'] . ' Uhr</td>'; echo '<td align=center bgcolor=#FFFFFF><a href="mailto:' . $row['email'] . '"><img src="./images/email.png" border=0 width=24 height=24></a></td>'; echo '</tr>'; } } else { echo '<tr><td colspan=6 bgcolor=#FFFFFF align=center><font color=#9F0000>Kein Treffer</font></td></tr>'; } echo '</table>'; }   ?>


Grüße Patrick


PAS
Administrator


Beiträge: 762
OFF PN Schicken Homepage
AW: Suchausgabe: Fehler abfangen bei keinem Treffer
Beitrag von tron am: 23.08.2009 14:09:40

Hi Patrick,

ok, wieder was gelernt. Dank Dir. Dieser Programierstil ist natürlich besser und schöner als meiner. Ich werde versuchen, das ich einiges davon für mich übernehmen kann davon. Funktioniert übrigens einwandfrei

Gruß tron


tron
Benutzer


Beiträge: 25
OFF PN Schicken Homepage

Seite: 1



Statistik
Statistik
Es wurden insgesamt 3838 Beiträge geschrieben.
Wir haben 11066 registrierte Mitglieder.
Der neueste Benutzer ist laustralianorth - Forum Beta³ - Bug melden