Stephan: Ausgabe von "Keine Daten gefunden",wenn keine Eintragungen in DB

Hallo,

ich hoffe,dass mir jemand helfen kann. Ich bin fast am verzweifeln.
Ich habe ein php-Script, womit ich meine DB abfrage. Funktioniert auch super. Wenn ich aber etwas abfrage,was es nicht in der DB gibt,soll "Keine Daten vorhanden" ausgegeben werden.In meinem Script wird nichts ausgegeben.

Ich habe achon das Archiv durchwühlt und verschieden Dinge getestet,aber nichts hat geholfen. Vielleicht bin ja auch nur zu blöd :-)

Hier mal mein php-Script :

<?

//Formularfeld

echo " <form name=form1 method=post  action='" .$_SERVER['PHP_SELF'] ."'>\n";
echo "<input class= formular name=suche type=text maxlenght=255 size=20 value='".$_POST['suche']."'>\n";
echo "<input class= formular type=submit name=Submit value='Suchen'>\n";

//Verbindung herstellen

include 'db_connect.inc';
$sqldatabase = mysql_pconnect("$host","$user","$pwd") or die('<b>#'.mysql_errno().':</b> '.mysql_error());
                mysql_select_db($dbname, $sqldatabase) or die('<b>#'.mysql_errno().':</b> '.mysql_error());

//Suche starten, Ergebnise ausgeben

$daten = mysql_query('SELECT * FROM '.$tblname.' WHERE code=''.$_POST['suche'].''', $sqldatabase);
while($row=mysql_fetch_array($daten)){
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo"<table>";
echo"<td>";
echo"<tr>";
echo $row['Hersteller'];
}
?>

Ich weiss, dass es nicht gerade professionell ist,aber es funktioniert.

Kann mir da jemand bei dem Script helfen,damit es "Keine Daten vorhanden" ausgibt ????

Es währe sehr nett von euch

Gruß Stephan

  1. Hallo Stephan,

    Bevor du deine Daten mit

    while($row=mysql_fetch_array($daten)){

    ausgibst, solltest du vielleicht prüfen, wie viele Zeilen dein Ergebnis hat.

    Grüße
      David

    --
    >>Nobody will ever need more than 640k RAM!<<
    1981 Bill Gates
    1. Hallo David,

      ich habe es mal in mein Script eingebaut,aber es zeigt schon die Anzahl an,bevor ich mich mit einer Datenbank verbunden habe.

      Habe es mal probeweise online gestellt :

      http://amorphophallus-forum.de/subdomain/hersteller

      Wie man sieht, ist es ein kleines Formular. Ich habe die DB mal testweise mit den Suchbegriffen a,b und c gefüllt. Nun möchte ich in das Eingabefeld a,b,oder c eingeben und es soll die Ausgabe erfolgen.
      Wenn ich aber x,y,oder z eingebe,soll "Keine Daten vorhanden" angezeigt werden.

      Ich bekomm es einfach nicht hin,auch mir euren ersten Hilfen nicht.

      Ein Anfänger braucht wirklich Hilfe *heul*

      1. hi,

        ich habe es mal in mein Script eingebaut,aber es zeigt schon die Anzahl an,bevor ich mich mit einer Datenbank verbunden habe.

        Geht ja gar nicht.

        Habe es mal probeweise online gestellt :

        http://amorphophallus-forum.de/subdomain/hersteller

        Wo auch immer - da jedenfalls nicht (404).

        Ich bekomm es einfach nicht hin,auch mir euren ersten Hilfen nicht.

        Warum nicht?
        Davids Hinweis war doch sehr simpel und absolut zielführend.

        Nachdem du deine Abfrage gemacht hast, überprüfe die Anzahl der Datensätze, die sie geliefert hat, und reagiere mittels eines simplen IF darauf:
        0 Datensätze -> "nix gefunden"
        andernfalls -> Ausgabe in Schleife

        Ein Anfänger braucht wirklich Hilfe *heul*

        Hör auf zu heulen.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. $daten = mysql_query('SELECT * FROM '.$tblname.' WHERE code=''.$_POST['suche'].''', $sqldatabase);
    while($row=mysql_fetch_array($daten)){
    echo "<br>";
    echo "<br>";
    echo "<br>";
    echo "<br>";
    echo"<table>";
    echo"<td>";
    echo"<tr>";
    echo $row['Hersteller'];
    }
    ?>

    Was hälst du davon zu überprüfen ob $daten ein ergebnis enthält?

    if($daten == "")
    {
    echo "Es gibt keine Daten";
    }
    else
    {
    while...
    }

    --
    MfG lvl
    1. hi,

      Was hälst du davon zu überprüfen ob $daten ein ergebnis enthält?

      Ja, gute Idee.

      if($daten == "")

      Aber nicht so.
      $daten enthält die Resource ID, ist also nicht gleich "".

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
      1. echo $begrüßung;

        if($daten == "")
        $daten enthält die Resource ID, ist also nicht gleich "".

        Außerdem ist $daten nur dann false (was per automatischer Typumwandlung einem Leerstring entspricht), wenn ein Fehler auftrat. Eine leere Ergebnisdatenmenge ist kein Fehler und gibt auch eine reguläre Ressourcenkennung zurück.

        echo "$verabschiedung $name";