Herr_der_Ringe Geschrieben 14. September 2005 Geschrieben 14. September 2005 Hi. Ich wieder;) Folgendes. Ich habe ja ein LIMIT in meiner SQL-Abfrage, sodass von der DB nur 250 Zeilen angezeigt werden. Im Tabellenkopf gebe ich verschiedene Berechnungsergebnisse aus: Anzahl Items gesamt: 250 Anzahl Items im Ablauf: 140 Anzahl Items nicht im Ablauf: 110 Anzahl Items manuell getestet: 104 Anzahl Items noch manuell zu testen: 6 Anzahl Items gesamt soll eigentlich darstellen, wieviele Items(Zeilen) die DB enthält. Aber es zeigt nur an, wieviele ich anzeigen lasse (also 250). Darüber möchte ich noch eine Anzeige: Anzahl Items in DB (als Bsp.), die mir die Anzahl der Items in der DB angibt. Momentan sind es 759. Wie kann ich so eine Ausgabe, unabhänig von meinem Limit machen?? sodass er mir ausgibt dass ich 759 Items habe, darunter aber die obigen Berechnungen, die sich auf meine 250 angezeigten Items beziehen! Schonmal danke!
Krain Geschrieben 14. September 2005 Geschrieben 14. September 2005 Einfach vorher einen Count() auf die Tabelle absetzen und den Result merken und ausgeben. Wo liegt das Problem?
Monty82 Geschrieben 14. September 2005 Geschrieben 14. September 2005 z.B. so: http://forum.fachinformatiker.de/showpost.php?p=769838&postcount=21 Wobei Du das Ermitteln der Ergebnisanzahl so machen könntest: $query = "SELECT COUNT(*) AS count FROM tabelle WHERE 1 AND _DEINE_BEDINGUNGEN_HALT_"; $sqlRes = mysql_query($query); if ($sqlRes && $row = mysql_fetch_assoc($sqlRes)) $anzahlItems = $row['count']; else $anzahlItems = 0;
Herr_der_Ringe Geschrieben 14. September 2005 Autor Geschrieben 14. September 2005 Wobei Du das Ermitteln der Ergebnisanzahl so machen könntest: $query = "SELECT COUNT(*) AS count FROM tabelle WHERE 1 AND _DEINE_BEDINGUNGEN_HALT_"; $sqlRes = mysql_query($query); if ($sqlRes && $row = mysql_fetch_assoc($sqlRes)) $anzahlItems = $row['count']; else $anzahlItems = 0; Soll das count so bleiben, oder nur platzhalter für was anderes darstellen? Da muss ich passen. Was soll ich da für Bedingungen angeben? Will einfach die Anzahl aller in der DB vorhandenen Datensaetze bekommen.. Gibts da ne Bedingung??
Krain Geschrieben 14. September 2005 Geschrieben 14. September 2005 Soll das count so bleiben, oder nur platzhalter für was anderes darstellen? Da muss ich passen. Was soll ich da für Bedingungen angeben? Will einfach die Anzahl aller in der DB vorhandenen Datensaetze bekommen.. Gibts da ne Bedingung?? count ist die Variable, die du später aus deinem Resultset auslesen kannst. Du meinst alle in der Tabelle vorhandenen Datensätze nehme ich an. Dann lass die Bedingung einfach weg. Kleiner Rat: Du solltest dich etwas mit SQL auseinandersetzen und danach den Umgang mit Datenbanken in PHP verstehen lernen. Das ist nicht wirklich schwer und erfordert vielleicht einen einzigen Nachmittag Doku blättern
kills Geschrieben 14. September 2005 Geschrieben 14. September 2005 Hi, Ab MySQL Version 4.0 würde ich auf jeden fall SQL_CALC_FOUND_ROWS verwenden. Das ist schneller, als einen count(*) abzusetzen und funktioniert auch mit LIMIT Beispiel: SELECT SQL_CALC_FOUND_ROWS * FROM abc_tabelle WHERE a = b LIMIT 100 SELECT FOUND_ROWS() Gruß, Markus
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden