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! Zitieren
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? Zitieren
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; Zitieren
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?? Zitieren
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 Zitieren
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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.