Alle Einträge aus DB Tabelle als Gesamtzahl ausgeben?

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

  • Alle Einträge aus DB Tabelle als Gesamtzahl ausgeben?

    Hallo,

    habe folgendes Problem.
    Ich möchte mittels der ID, alle Einträge aus einer DB Tabelle, als Gesamtzahl ausgeben.
    Dazu brauche ich ja eigentlich nur die letzte eingetragene ID aus der Datenbank auslesen.
    Habe dazu auch etwas hier im Forum gefunden. Nur leider bekomme ich keinen Wert angezeigt.

    Hier ist mal der Code.

    PHP-Code:
    <?
    $sql = "SELECT id FROM batch ORDER BY id DESC LIMIT 1";
    $result = mysql_query($sql) or die(mysql_error()."<br>".$sql);

    if(mysql_num_rows($result) > 1) 

     $id = mysql_result($result,1,"id");
    }
    echo mysql_error();
    mysql_close($verbindung);
    ?>
    <table border="0" width="100%">
      <tr>
        <td width="50%" class="style">Batche: <? echo "$id";?></td>
    Fehlermeldungen kommen keine. Aber wie gesagt auch kein Ergebnis!
    Bin noch immer nicht so fit in PHP, deshalb denke ich mal, das der Fehler schon bei der if Abfrage liegt.

    Wäre nett, wenn mir dabei jemand helfen könnte!


    Creed

  • #2
    Ja is ja auch klar Du liest genau einen daten satz aus und deine if fragt ob mehr als 1 Datensatz gelesen wurde...
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      Hallo MelloPie,

      Problem gelöst.

      Habe die zwei 1 ser in der Abfrage jetzt durch 0 len ersetzt und es funzt!

      Danke für den Hinweis!

      Creed

      Kommentar


      • #4
        btw echo mysql_error() is da mal etwas fehl am Platz
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar


        • #5
          Hast recht!

          Ist zweimal drinne.
          Werde es ändern.

          Thx
          Creed

          Kommentar


          • #6
            Re: Alle Einträge aus DB Tabelle als Gesamtzahl ausgeben?

            und sobald eine lücke in den IDs entsteht, weil eine datensatz gelöscht wurde, ist dein system am ar***.

            warum verwendest du nicht einfach COUNT()?
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Hallo wahsaga.

              Danke auch Dir für den guten Tip!

              Musste gestern schon schnell feststellen, dass das System doch nicht so ganz richtig gearbeitet hat. Nachdem ich einige Tabellen mit DESC ausgelesen hatte. Wurde mir schnell klar, das die Funktion Desc, nur den Zahlenwert der in der letzten Zeile bei ID eingetragen ist, ausliest.
              Da aber in einigen Tabellen schon Inhalte wieder gelöscht wurden. Hatte ich weniger wirklich vorhandene Zeilen, als der Wert, der in der ID Spalte angezeigt wurde. Ist aber auch klar, wenn mit auto_increment, die ID´s selbstständig vergeben werden.
              Die Funktion COUNT() hingegen. Zählt die tatsächlich vorhandenen Zeilen einer Tabelle und liefert somit immer das korrekte Ergebnis!

              Dennoch habe ich ein kleines Problem.

              Jede Tabelle, enthält als erste Zeile die ID 0. Da nicht in jeder einzelnen Spalte dieser Zeile etwas drinnen steht und nur einige Spalten dieser Zeile kurze Hinweise enthalten. Möchte ich, das diese Zeile nicht im Gesamtergebnis der vorhandenen Zeilen einer Tabelle mitgezählt wird.

              Das heist, wenn mir jetzt mit der Funktion COUNT(), 11 Zeilen angezeigt werden. Sind davon aber nur 10 Zeilen mit verwertbaren Inhalten vorhanden.
              Ich möchte aber, das mir nur diese 10 Zeilen als Gesamtzahl einer Tabelle ausgegeben werden.
              Es ist doch bestimmt möglich, das wenn 11 Zeilen in der Tabelle gezählt wurden. Wieder 1ne Zeile von diesen 11 Gesamtzeilen abgezogen werden kann. Bevor das Gesamtergebnis in einer Datei ausgegeben wird.


              Hast Du oder jemand anderes, dafür eine Lösung parat?


              Hier ist mal der Code, wie ich die Zeilen jetzt aus der Tabelle auslese.

              PHP-Code:
              <?php
              include ("config.php");
              $verbindung mysql_connect($dbhost$dbuser$dbpass);
              mysql_select_db($dbname);

              $sql "SELECT COUNT(*) as id FROM batch;";    
              $result mysql_query($sql) OR die(mysql_error());    
              $row mysql_fetch_assoc($result);    
              echo 
              "<font size=1 color=navy>".$row['id']." Batche</font>";

              mysql_close($verbindung);
              ?>

              Danke!

              Creed
              Zuletzt geändert von Creed; 18.10.2003, 16:32.

              Kommentar


              • #8
                Jede Tabelle, enthält als erste Zeile die ID 0. Da nicht in jeder einzelnen Spalte dieser Zeile etwas drinnen steht und nur einige Spalten dieser Zeile kurze Hinweise enthalten. Möchte ich, das diese Zeile nicht im Gesamtergebnis der vorhandenen Zeilen einer Tabelle mitgezählt wird.
                Mach dir erstmal klar, was zeilen und was spalten sind!!!

                weiter solltest du mal NULL() ansehen, oder einfach >>spalte != ""<< abchecken.

                Kommentar


                • #9
                  lt meines verständnisses hat er sich korrekt ausgedrückt, tobiaz
                  die erste zeile ist einfach nur ein beispiel das nicht mit eingerechnet werden soll ..

                  count(*) - 1
                  oder:
                  count(*) from batch where not id = 0

                  btw: count(*) as id ..
                  ist blödsinn .. nimm was andres als spaltennamen, sonst verwirrst dich damit nur selbst
                  mfg,
                  [color=#0080c0]Coragon[/color]

                  Kommentar


                  • #10
                    axo, dann hat er sich nur undeutlich ausgedrückt

                    aber dann count(id) // because soll schneller sein!

                    Kommentar


                    • #11
                      Hallo TobiaZ.

                      Normalerweise überlese ich sowas ja sofort.

                      Mach dir erstmal klar, was zeilen und was spalten sind!!!
                      Ich weis schon was Zeilen und Spalten in einer Tabelle sind!

                      Aber vieleicht hätte ich es ja so beschreiben sollen. Damit es auch wirklich jeder versteht.


                      Jede Tabelle, enthält in jeder Zeile, 15 Spalten. Davon hat die erste Spalte, die Bezeichnung ID. Die erste Zeile, enthält also in der ersten Spalte= ID, den Wert 0.
                      Sag mal ehrlich. Ist doch wohl etwas affig, oder?

                      Da fast in jeder Tabelle, die erste Spalte pro Zeile, die ID enthält. Bin ich mal davon ausgegangen, das es ohne groß überlegen zu müssen, klar beschrieben war!

                      Aber nun gut. Ich werde mir Mühe geben.

                      Für den Rest deiner Antwort danke ich Dir natürlich sehr und werde mich mal dahinter klemmen!


                      Creed

                      Kommentar


                      • #12
                        Nabend.

                        Da sind mir ja glatt 2 Replays durchgerutscht.

                        @Coragon Rivito

                        Danke Dir für diesen 100% guten Tip. Jetzt stimmt die Anzahl der verwertbaren Zeilen!


                        @TobiaZ

                        Deinen Tip mit Count(id), habe ich natürlich auch noch beherzigt!

                        Funktioniert jetzt alles wunderbar.


                        Danke nochmals!

                        Creed

                        Kommentar


                        • #13
                          OffTopic:
                          @tobiaz:

                          irgendwas musste ich doch dir lassen
                          mfg,
                          [color=#0080c0]Coragon[/color]

                          Kommentar


                          • #14
                            @cr: ich versteh schon, das nicht jeder so gut ist wie ich *übersichselbstkaputtlach*

                            @Creed: Sorry 4 that. ich hatte das wirklich so verstanden. Vorallem weil es absolut nicht üblich ist, in der ersten Zeile nur was in der Spalte ID zu speichern und die anderen leer zulassen. (richtig verstanden?) bleibt bei den anderen Zeilen die ID dann leer?

                            Kommentar


                            • #15
                              Hallo TobiaZ.

                              Nein, die erste Zeile hat die ID=0 und bei den nächsten geht es normal mit 1,2,3 weiter!

                              Also, ich habe mehrere Datenbanken!
                              Jede Tabelle einer Datenbank, hat 15 Spalten. Die Anzahl der Zeilen, erhöht sich ja logischerweise, automatisch mir jedem neuen Eintrag.
                              Jede Tabellenzeile enthält in der ersten Spalte, den Wert ID.
                              Die restlichen Spalten der Tabellenzeile, enthalten zum Teil Steuerungsbefehle und Informationen.

                              Bis hier hin alles klar?

                              Nun gut, dann weiter.

                              In jeder ersten Tabellenzeile einer Datenbank, ist in der ersten Spalte = ID, der Wert 0 eingetragen. In den weiteren Spalten der ersten Tabellenzeile, sind nur Informationen in den Spalten enthalten, in denen keine Steuerungsbefehle geschrieben werden.
                              Da jetzt diese erste Tabellenzeile nur informative und keine verwertbaren Inhalte ( verwertbar = Zeile ohne Steuerungsbefehle zum verarbeiten in php Datei ), enthält.
                              Wollte ich die erste Zeile aus der Datenbankabelle, nicht im Gesamtergebis der jeweiligen Datenbank, mitzählen lassen!
                              Die erste Zeile einer Tabelle enthält nur die ID = 0, den Namen der Datenbank ( dieser ist identisch mit der aufgerufenen php Datei ), und eine kurze Anweisung, was der User auf der aufgerufenen php Datei durchführen soll.

                              So, ich hoffe es ist jetzt klar genung beschrieben, was in den restlichen Spalten der ersten Tabellenzeile enthalten ist und wofür sie gut ist!


                              Creed
                              Zuletzt geändert von Creed; 21.10.2003, 16:10.

                              Kommentar

                              Lädt...
                              X