Wenn Abfrage leer = Hinweis ausgeben

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

  • Wenn Abfrage leer = Hinweis ausgeben

    Hallo,

    ich hätte ien Frage zu einer Datenbank-Abfrage.

    Ich suche mir mit folgender Abfrage Datensätze aus der DB raus und gebe sie aus.

    PHP-Code:
    <table>
    <!-- Auslesen der Datenbank -->
    <?php
    $query 
    sprintf("SELECT * FROM worldlinks WHERE w_country='$land' order by w_name");
    $worldmaplinks mysql_query($query) OR die(mysql_error());
    while (
    $row = @mysql_fetch_array($worldmaplinks)) 
    {
      echo 
    "hier erfolgt die Ausgabe der Datensätze...";
    }
    ?>
    </table>
    Wenn die Datenbank keine Ergebnisse beinhaltet wird nichts ausgegeben. Was ich aber gerne hätte ist, das im Falle von "kein Datensatz da" ein Hinweis ausgegeben wird wie "noch nichts vorhanden - jetzt eintragen".

    Wie müsste ich meine Ausgabe denn anpassen?

    Grüße
    Michael

  • #2
    mysql_num_rows() ist dein Freund.

    Kommentar


    • #3
      schau dir mysql_num_rows and
      [FONT="Helvetica"]twitter.com/unset[/FONT]

      Shitstorm Podcast – Wöchentliches Auskotzen

      Kommentar


      • #4
        mysql_num_rows() ist dein Freund.
        ich möchte jetzt hier keine grundsatzdiskussiuon lostreten, aber wirklich hilfreich ist die antwort für mich nicht. )-:

        wenn ich mir die info dazu anschaue http://ro.php.net/mysql_num_rows verstehe ich leider gar nichts.

        Für jemanden, der sich mit den ganzen Abfragen etc. super auskennt, ist meine Anfrage sicherlich lachhaft - wenn aber jemand da realtiver Anfänger ist hilft ein solcher Hinweis (auch wenn er gut gemeint ist) nicht wirklich weiter.

        Kommentar


        • #5
          PHP-Code:
          Wenn mysql_num_rows()>0 dann
          {
             
          // mach dies, mach das
          }
          sonst
          {
             
          // mach dies, mach das

          Klarer?

          Kommentar


          • #6
            vom verständnis her ja, aber der umsetzung (vom code her) leider nein... )-:

            Kommentar


            • #7
              Kommt für mich so rüber, als ob das Thema eher nach Projekthilfe gehört.

              Hast du denn grundlegende Begriffe von PHP gelernt?

              "Wenn, sonst" ... Woran würde dich das im englischen erinnern?

              mfg

              Kommentar


              • #8
                habs durch andere quellen ohne das mysql_num_rows() irgendwie hinbekommen....

                @Blackgreetz
                lese meine Antwort bitte durch. Ich hab ganz klar geschrieben, dass es NICHT am Verständnis der Problemlösung liegt, sondern lediglich an der Code-Umsetzung!! Das ist ein gewaltiger Unterschied.
                Zuletzt geändert von michaelxxx; 29.11.2008, 16:21.

                Kommentar


                • #9
                  Ich hab sie genau gelesen.

                  Aber wenn du "Wenn, sonst" ins englische übersetzt, kommst du auch an die Code-Lösung O.o

                  "Wenn, sonst" = "if, else".

                  Die Bedingung für if hat dir asp2php doch auch schon verraten.


                  Hab auch nie gesagt, dass du es nicht verstanden hast.
                  Grundlagen brauch man zur Umsetzung... da es daran gelegen hat, fehlen die wohl somit...

                  mfg

                  Kommentar


                  • #10
                    wie gesagt, ich weiß das es nicht bös gemeint ist, aber ihr solltet halt einfach auch nicht vergessen, dass nicht jeder hier im Forum auf dem Wissenstand ist wie ihr. Sonst würd ich mir auch nicht die "blöse geben" und so eine vielleicht einfach Frage hier zu posten.

                    Aber ich hab mich auch zu früh gefreut: Meine Abfrage funktioniert wohl doch nicht, denn er gibt jetzt immer die else Schleife aus:

                    PHP-Code:
                    <!-- Auslesen der Datenbank -->
                    <?php
                    $sql 
                    "SELECT * FROM worldlinks WHERE w_country='$land' order by w_name";
                    $result = @mysql_query($sql);
                    if(!
                    $result) {
                     echo 
                    "alle Datensätze";
                    } else {
                      echo 
                    "nix da";
                    }
                    ?>
                    if/else ist da drinne, aber ich weiß eben nicht, wie ich die mysql_num_rows()>0 Funktion hier einbinden muss?


                    Grüße
                    Michael

                    Kommentar


                    • #11
                      PHP-Code:
                      $sql "SELECT * FROM worldlinks WHERE w_country='$land' order by w_name";
                      $result mysql_query($sql);
                      $hits mysql_num_rows($result);
                      if (
                      $hits...) 
                      und
                      PHP-Code:
                      $result = @mysql_query($sql); 
                      liefert nur eine referenz auf deine abfrage. die ist also immer vorhanden (wenn kein fehler auftaucht)

                      peter

                      EDIT:
                      da mittlerweile eigene, wenn auch fehlerhafte ansätze vorhanden sind, verschiebe ich es wieder ins php-forum.
                      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                      Meine Seite

                      Kommentar


                      • #12
                        danke für die Hilfe. Ich hoffe, ich hab das jetzt so umgesetzt, wie von dir vorgeschlagen?

                        PHP-Code:
                        <?php
                        $sql 
                        "SELECT * FROM worldlinks WHERE w_country='$land' order by w_name";
                        $result = @mysql_query($sql);
                        $hits mysql_num_rows($result);
                        if(
                        $hits) {
                          echo 
                        "Name".$row[w_name]."<br>";
                        } else {
                          echo 
                        "nix da";
                        }
                        ?>
                        </table>
                        Allerdings funktioniert jetzt nicht mehr die Ausgabe von .$row[w_name].

                        Ich hab das attribt "$row" mal ersetzt durch das attribut "$hits", aber auch das klappt nicht. Also irgendwie schein ich noch auf dem Holzweg zu sein.

                        Kommentar


                        • #13
                          wenn die treffer vorhanden sind, musst du dir die ergebnisse noch per mysql_fetch_irgendwas holen. ich empfehle dir, mal dieses tutorial durchzuarbeiten, da wird alles erklärt.

                          peter
                          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                          Meine Seite

                          Kommentar


                          • #14
                            Leute, brecht euch doch keinen ab!

                            Analog zu: Beispiel #1 Ein ausführliches Beispiel zumysql_fetch_assoc()

                            PHP-Code:
                            $sql "SELECT w_name FROM worldlinks WHERE w_country='{$land}' order by w_name";

                            if(!
                            $result mysql_query($sql))
                            {
                                echo 
                            "Anfrage '{$sql}' konnte nicht ausgeführt werden : " mysql_error();
                            }
                            elseif(
                            mysql_num_rows($result) == 0)
                            {
                                echo 
                            'Keine Zeilen gefunden';
                            }
                            else
                            {
                                while(
                            $row mysql_fetch_assoc($result))
                                {
                                    echo 
                            $row['w_name'].'<br />';
                                }

                            Kommentar


                            • #15
                              @phpguru42: großes DANKE

                              Kommentar

                              Lädt...
                              X