tutorials.de Buch-Aktion 05/2012
Like Tree5Danke
  • 1 Beitrag von saftmeister
  • 1 Beitrag von timäää
  • 1 Beitrag von saftmeister
  • 1 Beitrag von timäää
  • 1 Beitrag von saftmeister
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
298
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von MC-René
    MC-René MC-René ist offline Mitglied Brokat
    Registriert seit
    Apr 2004
    Ort
    Saarland
    Beiträge
    295
    Hallo!

    Ich denke es gibt ne einfacherer Lösung um die Anzahl einer Abfrage zu ermitteln als diese:

    PHP-Code:
    $sql1="SELECT * FROM tabelle WHERE Aktiv='1'";
    $sql11=mysql_query($sql1);
    while (
    $ergebnis=@mysql_fetch_array($sql11))
    {
    $anzahl++;
    }
    echo 
    $anzahl
     
    Greetz, MC!

    Falls Dein Beitrag hilfreich war: Danke dafür :-)

    Falls mein Beitrag hilfreich war: Danke klicken! :-)

  2. #2
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.520
    Du willst mysql_num_rows benutzen.
    MC-René bedankt sich. 
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  3. #3
    Avatar von timäää
    timäää timäää ist offline Mitglied Gold
    Registriert seit
    Mar 2005
    Ort
    Bad Oeynhausen (NRW)
    Beiträge
    131
    Oder, wenn du nur die Anzahl der Daten aber nicht die Daten selbst haben willst kannst du dies auch direkt in SQL tun:
    PHP-Code:
    $sql1="SELECT COUNT(*) as Anzahl FROM tabelle WHERE Aktiv='1'"
    $sql11=mysql_query($sql1); 
    $ergebnis=@mysql_fetch_array($sql11)
    $anzahl $ergebnis['Anzahl'] ; 
    MC-René bedankt sich. 
    so wahat you gonna loose? you know you come from nothing, you are going back to nothing... so what have you lost? nothing!

    -=Turbofant=-

  4. #4
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.520
    SELECT COUNT(*) ist wohl eher nicht so dolle, was Performance angeht. Dann doch lieber die MySQL-internen Zähler verwenden:

    Code sql:
    1
    2
    3
    4
    
    SELECT TABLE_ROWS
    FROM INFORMATION_SCHEMA.TABLES
    WHERE TABLE_SCHEMA = 'mydatabase'
    AND TABLE_NAME = 'my_very_important_table';
    Zeige Datensätze 0 - 0 (1 insgesamt, die Abfrage dauerte 0.0008 sek.)

    Edit: Hier mal zum Vergleich mein Query [1] und SELECT COUNT(*) [2]

    [1]
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    
    Status  Dauer
    starting    0.000035
    Opening tables  0.000126
    System lock     0.000001
    Table lock  0.000005
    init    0.000018
    optimizing  0.000009
    statistics  0.000007
    preparing   0.000008
    executing   0.000004
    checking permissions    0.000036
    Opening tables  0.000306
    Sending data    0.000013
    end     0.000002
    query end   0.000001
    freeing items   0.000029
    removing tmp table  0.000005
    closing tables  0.000001
    logging slow query  0.000001
    cleaning up     0.000001
     
    1   SIMPLE  TABLES  ALL     NULL    TABLE_SCHEMA,TABLE_NAME     NULL    NULL    NULL    Using where; Open_full_table; Scanned 0 databases

    [2]
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    starting    0.000032
    Opening tables  0.000114
    System lock     0.000002
    Table lock  0.000004
    init    0.000009
    optimizing  0.000003
    statistics  0.000007
    preparing   0.000005
    executing   0.000003
    Sending data    0.000118
    end     0.000002
    query end   0.000001
    freeing items   0.000025
    logging slow query  0.000000
    cleaning up     0.000002
     
    1   SIMPLE  countries   index   NULL    PRIMARY     4   NULL    240     Using index

    Richtig schlimm wird das, wenn kein Index in der Tabelle existiert (sollte normal nicht vorkommen, aber man weiß ja nie).

    EDIT: ICH NEHME ALLES ZURÜCK UND BEHAUPTE DAS GEGENTEIL. Hätte ich nie gedacht, da sein SELECT COUNT() schneller ist, als ein Zugriff auf die Information Schemata. Tja, man lernt nie aus.
    Geändert von saftmeister (14.01.11 um 10:48 Uhr)
    MC-René bedankt sich. 
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  5. #5
    Avatar von timäää
    timäää timäää ist offline Mitglied Gold
    Registriert seit
    Mar 2005
    Ort
    Bad Oeynhausen (NRW)
    Beiträge
    131
    Das funktioniert dann aber auch nur, wenn man die Anzahl aller Zeilen haben will... durch die Bedingung "WHRER active = 1" kommt man um das COUNT() wohl nicht drumrumm... jedenfalls auf SQL-Seite
    MC-René bedankt sich. 
    so wahat you gonna loose? you know you come from nothing, you are going back to nothing... so what have you lost? nothing!

    -=Turbofant=-

  6. #6
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.520
    Zitat Zitat von timäää Beitrag anzeigen
    durch die Bedingung "WHRER active = 1" kommt man um das COUNT() wohl nicht drumrumm... jedenfalls auf SQL-Seite
    Und noch eine Wahrheit, die ich aus den Augen verloren hatte. Danke für die Richtigstellung.
    MC-René bedankt sich. 
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  7. #7
    Avatar von MC-René
    MC-René MC-René ist offline Mitglied Brokat
    Registriert seit
    Apr 2004
    Ort
    Saarland
    Beiträge
    295
    Danke @all************!!
     
    Greetz, MC!

    Falls Dein Beitrag hilfreich war: Danke dafür :-)

    Falls mein Beitrag hilfreich war: Danke klicken! :-)

Ähnliche Themen

  1. Anzahl der Spalten einer Tabelle ermitteln
    Von JeyB im Forum Relationale Datenbanksysteme
    Antworten: 6
    Letzter Beitrag: 10.07.08, 23:02
  2. Dauer einer Abfrage vor der Ausführung ermitteln!
    Von Steamrunner im Forum Relationale Datenbanksysteme
    Antworten: 6
    Letzter Beitrag: 01.02.08, 14:37
  3. Dauer einer mysql Abfrage ermitteln
    Von dark_ghost im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 11.10.06, 14:38
  4. Antworten: 2
    Letzter Beitrag: 28.07.03, 18:40
  5. Anzahl von Zeilen in einer Tabelle ermitteln
    Von mcphilli im Forum Relationale Datenbanksysteme
    Antworten: 4
    Letzter Beitrag: 05.09.02, 11:40