Sascha: Suche Variablen für ...

Hallo,

ich weiss nicht, ob es dafür vordefinierte Variblen o.ä. gibt, aber ich suche für

  • die Gesamtanzahl aller Einträge in einer Tabelle eine Variable o.ä. die mir dann die genaue Anzahl aller Einträge nennt (Beispiel: wenn es 100 Einträge wären, das diese mir dann an Stelle der Variablen dann diese Zahl nennt)

und zum anderen suche ich eine Variable o.ä. die mir die Anzahl der
ausgegeben Datensätze einer Tabelle nennt (Beispiel: 100 Einträge in der Tabelle xy und davon werden 25 ausgegeben, das mir dann 25 an der Stelle nennt!)

Das ganze wird letztendlich per PHP verarbeitet, am einfachsten wäre wenn ich dann im Script dann nur noch an die gewünschte Stelle dann diese Variable oder was auch immer einsetzen müste ...

Ich würde mich freuen, wenn mir da jemand sagen könnte, ob es solche
Variablen oder so gibt, und wie diese heißen.

Danke im voraus.

Mfg.

Sascha

  1. Hallo,

    ich weiss nicht, ob es dafür vordefinierte Variblen o.ä. gibt, aber ich suche für

    • die Gesamtanzahl aller Einträge in einer Tabelle eine Variable o.ä. die mir dann die genaue Anzahl aller Einträge nennt (Beispiel: wenn es 100 Einträge wären, das diese mir dann an Stelle der Variablen dann diese Zahl nennt)

    hier kannst du ja einfach ein select * machen und dann über mysql_num_rows(...); die anzahl der zurückgegebenen Zeilen ausgeben lassen.
    das beantwortet auch in gewisser Weise die zweite Frage:
    mysql_num_rows dürfte der befehl sein, den du suchst...

    und zum anderen suche ich eine Variable o.ä. die mir die Anzahl der
    ausgegeben Datensätze einer Tabelle nennt (Beispiel: 100 Einträge in der Tabelle xy und davon werden 25 ausgegeben, das mir dann 25 an der Stelle nennt!)

    Das ganze wird letztendlich per PHP verarbeitet, am einfachsten wäre wenn ich dann im Script dann nur noch an die gewünschte Stelle dann diese Variable oder was auch immer einsetzen müste ...

    Ich würde mich freuen, wenn mir da jemand sagen könnte, ob es solche
    Variablen oder so gibt, und wie diese heißen.

    Danke im voraus.

    Mfg.

    Sascha

    1. Hi,

      hier kannst du ja einfach ein select * machen

      es macht keinen Sinn, eine Ergebnistabelle von ggf. einigen Millionen Datensätzen zu generieren, zumal hier kein Index verwendet werden kann.

      SELECT count(*) FROM tabelle

      Falls möglich wird der Wert über einen FAST FULL SCAN o.ä. auf einem Index ermittelt.

      mysql_num_rows

      Wie kommst Du auf den Gedanken, er würde MySQL benutzen?

      Cheatah, der ohne anderslautende Information grundsätzlich zunächst von Oracle ausgeht

      1. Hallo Cheatah,

        es macht keinen Sinn, eine Ergebnistabelle von ggf. einigen Millionen Datensätzen zu generieren, zumal hier kein Index verwendet werden kann.

        SELECT count(*) FROM tabelle

        naja bei einigen Millionen Datensätzen bin ich noch nicht, leider!
        Aber es sind schon weit über 450. Und du räts mir dann also es über count zu machen ...
        ... jetzt stelle ich mir nur noch die Frage, wie ich dann das Ergebnis an meine gewünschte Stelle in meinem PHP-Script bekomme.

        z.B. wenn ich eine Suchabfrage per LIKE mache in der Form:

        $daten = MYSQL_QUERY( "SELECT * FROM downloadprogramme WHERE titel LIKE '%$wort1%'OR beschreibung LIKE '%$wort1%'",$verbindung);

        und ich zum einen das in Tabellen dann ausgebe, soweit habe ich es auch schon funktionsfähig, noch zusätzlich als Überschrift z.B. dann noch die Anzahl der gefundenen Datensätze haben will, müste ich noch ein zweites SELECT mit count machen? - und diesem SELECT eine andere Variable zuweisen oder wie stelle ich das dann an?

        z.B. zweite SELECT-Anweisung:

        $datencounter = MYSQL_QUERY( "SELECT count(*) FROM downloadprogramme WHERE titel LIKE '%$wort1%'OR beschreibung LIKE '%$wort1%'",$verbindung);

        Und dann am gewünschten Platz dann im PHP-Script $datencounter ausgeben, oder wie erreiche ich das diese Zahl am gewünschten Platz ausgegeben wird?

        Wie kommst Du auf den Gedanken, er würde MySQL benutzen?

        weil er Hellsehen konnte oder einen älteren Thread von mir hier gesehen hat, oder weil er davon ausging, das MySQL wohl am ehesten zutreffen könnte! :-)

        Nein Oracle nutze ich nicht! MySQL war schon ein 100%iger Volltreffer!

        Mfg.

        Sascha

        1. Hi,

          naja bei einigen Millionen Datensätzen bin ich noch nicht, leider!
          Aber es sind schon weit über 450.

          man sollte früh an Performance denken. 450 sind zwar aus DB-Sicht (sorry *g*) noch nicht mal ein Betthupferl, aber irgendwann hast Du 'ne (generierte?) Tabelle, die ein paar hunderttausend Zeilen enthält.

          Und du räts mir dann also es über count zu machen ...

          Wenn Du nur die Anzahl ermitteln willst: ja. Mach das und nichts anderes.

          dann noch die Anzahl der gefundenen Datensätze haben will,

          Anzahl der gefundenen Datensätze != Anzahl der Datensätze

          Diese Zahl wird Dir (_nach_ der Abfrage) in num_rows geliefert; s. andere Antwort.

          Nein Oracle nutze ich nicht!

          Pech für Dich :-)

          Cheatah

  2. Hallo Sascha!

    Vielleicht hat's Dir noch keiner gesagt, aber es gibt nicht nur eine Datenbank auf der Welt, sondern viele verschiedene. Und es gibt auch nicht nur eine Methode, um auf eine DB zuzugreifen. Bevor wir Dir eine brauchbare Antwort geben koennen, wirst Du uns also mitteilen, welche DB Du einsetzt und wie Du darauf zugreifst. Moeglichkeiten sind z.B. mit SQL-Kommandos aus einem Perlscript auf eine Oracle-DB, oder aus ASP-Seiten mit DAO ueber ODBC auf einen MS-SQL-Server, oder was auch immer.

    So long