Ich versuche eine Möglichkeit zu finden, einige Zeilen in meiner Datenbank auszuwählen und zu zählen. Ich war die MySQL-Dokumentation überprüft und das ist, was ich kam mit:Zeilen in derselben Abfrage auswählen und zählen?
$query = "SELECT *, COUNT(*) as total WHERE IMAGE != '' AND CATEGORY = '$category' $limit";
Aber das gibt eine einzelne Zeile, wenn Sie fertig ... :(
als ich versucht habe:
$query = "SELECT * FROM PRODUCTS,
(SELECT COUNT(*) as total FROM PRODUCTS WHERE IMAGE != '' AND CATEGORY = '$category') as x
WHERE IMAGE != '' AND CATEGORY = '$category' $limit";
Das funktioniert, aber ich weiß nicht wirklich, ob das gut funktioniert, wegen der zwei SELECT-Anweisungen (lus brauche ich nicht als x, aber ohne diese schlägt die Abfrage fehl).
Gibt es a besserer Weg? Dank
Können Sie einige Beispieldaten liefern und die erwarteten Ergebnisse aus der Abfrage? – mba12
Es wäre besser, wenn der Code für SQL Injection nicht anfällig wäre. – spencer7593
Ich glaube, Sie suchen [SQL_CALC_FOUND_ROWS] (http://dev.mysql.com/doc/refman/5.7/en/information-functions.html#function_found-rows), siehe z.B. [Diese Frage] (http://stackoverflow.com/questions/12887266/get-total-number-of-rows-when-using-limit) – Solarflare