Wie kann ich ein leeres Ergebnis verarbeiten?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Wie kann ich ein leeres Ergebnis verarbeiten?

    Hallo miteinander

    Ausgangssituation:
    ich lasse herausfinden, ob eine Tabelle in der Datenbank ist, oder nicht. Die Abfrage könnt Ihr Euch wie folgt vorstellen:

    SHOW TABLES from mydat like "aero"

    das Original sieht so aus:
    $q_table='SHOW TABLES FROM '.$db.' LIKE "'.$ges_table.'" ';

    je nach Inhalt von $ges_table wird die Tabelle gefunden oder auch nicht. Wird sie gefunden, so ist alles gut und das php Skript macht in diesem Fall brav was ihm angewiesen wurde.

    Manchmal ist das Ergebnis meiner Abfrage zwangsläufig auch leer. Mein Mysql Control Center bezeichnet das Ergebnis im dem Fall als "leeres Ergebnis".

    Eigentlich soll das php Skript etwas anderes machen wenn das Ergebnis leer ist. Nach der Deviese: .... wenn das Resultat meiner Abfrage ein "leeres Ergebnis" ist, soll das Progrämmchen etwas anderes unternehmen.

    Nun habe ich bisher noch nicht den richtigen "Dreh" gefunden um mit dem "leeren Ergebnis" als Bedingung zu arbeiten und hoffe ganz fest auf Tipps und Hilfestellung Eurerseits.

    Vielen Dank bereits vorab


    P.s. für Verweise auf relevante Beiträge im Forum, die ich evtl überlesen habe bin ich natürlich auch dankbar

  • #2
    wie wäre es mit mysql_num_rows?
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      das habe ich auch mal angedacht

      ja, mysql_num_rows fand ich auch brauchbar, aber damit komme ich nicht recht weiter.
      Ich hänge hier mal den bereits bestehenden Code (der nicht geht) zur besseren Übersicht mit an:

      PHP-Code:
      //prüfen, ob es die Tabelle gibt, wenn nicht, Inhalt der Spalte ausgeben lassen
          
      $q_table='SHOW TABLES FROM '.$db.' LIKE "'.$ges_table.'" ';
          
      $r_table=mysql_query($q_table);
          while (
      $row mysql_fetch_row($r_table)) {
          echo 
      "Tabelle: ".$row[0];//
          
      echo mysql_num_rows($r_table);
          if (
      mysql_num_rows($r_table)==0) { echo "Dir sag ich nix"; }
          else {
          
      $q_listinh='select * from '.$ges_table;
          
      sele2($ges_table,$q_listinh); }
          }
      //ende while
          

      Vielleicht prüfe ich mysql_num_rows($r_table) auch falsch
      Auch das Echo auf mysql_num_rows($r_table) bleibt stumm, sobald die Tabelle nicht vorhanden ist.

      Kommentar


      • #4
        mysql_num_rows prüfst du ja auch nur dann, wenn es mindestens einen datensatz gibt, anderenfalls gehst du ja gar nicht ins while...

        Code:
        mysql_query
        $anzahl = mysql_num_rows
        if ($anzahl > 0) {
          tabelle vorhanden
        } else {
          tabelle nicht vorhanden
        }
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Man sieht den Wald manchmal nicht mehr

          getestet und got it!

          Danke Dir, klar, Du hast recht.

          Den gesamten While - Kram kann ich mir sparen

          PHP-Code:
          //prüfen, ob es die Tabelle gibt, wenn nicht, Inhalt der Spalte ausgeben lassen
              
          $q_table='SHOW TABLES FROM '.$db.' LIKE "'.$ges_table.'" ';
              
          $r_table=mysql_query($q_table);
              
          $anz_table=mysql_num_rows($r_table);
              echo 
          $anz_table;
              if (
          $anz_table==0) { echo "Dir sag ich nix"; }
              else {
              
          $q_listinh='select * from '.$ges_table;
              
          sele2($ges_table,$q_listinh); }
              } 
          Zuletzt geändert von katzie; 21.03.2005, 22:24.

          Kommentar

          Lädt...
          X