2016-04-17 8 views
0

Ich bin ein Anfänger, der Probleme mit PHP hat :(

Ich habe eine PHP-Funktion, die alle Zeilen aus der Datenbanktabelle zeigt. Jetzt muss ich Paging erstellen, um nur eine begrenzte Anzahl von Zeilen pro Seite anzuzeigen.
. ich habe ein Problem mit einem Zählergebnis aus Abfrage abrufen ich möchte einen Zustand schaffen, in denen PHP & MySQL Verwendung LIMIT wenn Anzahl der Zeilen größer als nötig auf der einen Seite

der folgende Code:.Wie wird ein COUNT-Abfrageergebnis in PHP abgerufen und angezeigt?

$count = "SELECT COUNT(*) FROM articles"; 
$countq = $db->query($count); 
$countrs = mysql_fetch_array($countq); 
echo $countrs; 

sollte eine Reihe von Zeilen anzeigen, tut es aber nicht. Was mache ich falsch? Ich möchte ein Ergebnis zu ma sehen Sicher, dass alles andere gut funktioniert. Aber ich kann es nicht funktionieren.
Fehler: mysql_fetch_array() erwartet Parameter 1 Ressource, Objekt gegeben

$ db enthält Datenbankverbindungsinformationen (Server, Benutzer ...) zu sein und arbeitet

+0

http://stackoverflow.com/questions/2439829/how-to-count-all-rows-when-use-select-with-limit-in-mysql-query –

+0

Verwenden Sie nicht mysql api gehen mit PDO . –

+0

* $ db enthält Informationen zur Datenbankverbindung (Server, Benutzer ...) und funktioniert * ... Wahrscheinlich nicht. Kannst du diesen Code zeigen? – fusion3k

Antwort

2

Verwendung PDO für MySQL-Abfrage.

$db = new PDO('mysql:host=#YOUR HOST#;dbname=#YOUR DB#;charset=utf8', '#YOUR LOGIN#', '#YOUR PASSWORD#'); 
$query = $db->query('SELECT COUNT(*) AS count FROM articles'); 
$countq = $query->fetch(); 
$query->closeCursor(); 
echo $countq['count']; 

Ich hoffe, das Sie

helfen
1

Sie das Limit in der Abfrage wie

$count = "SELECT COUNT(*) FROM articles LIMIT 5,10"; 

gesetzt haben, wo 5 ist der Ausgangspunkt und 10 ist die Gesamtzahl der Ergebnisse, die Sie wollen.

Sie erwähnen: $ db aber nicht was $ db ist? Ich meine, ist es eine Datenbankobjektklasse? Dies funktioniert direkt, wenn Sie eine Datenbank-Klasse verwenden, und wenn dies der Fall ist, wird die Klasse auch Funktionen haben, mit denen Sie Daten ohne mysql_fetch_array (eigentlich mysqli_fetch_array) abfragen können.

+0

Nun, $ db ist eine Variable, die neue PDO enthält ( "mysql: host =" .dbserver "; dbname =" .dbname, dbuser, dbpass, Array ( PDO :: MYSQL_ATTR_INIT_COMMAND => ". SET NAMES utf8" , PDO :: MYSQL_ATTR_INIT_COMMAND => "CHARACTER SET utf8 SET" ) ); Es ist in einer externen Datei definiert, in der die Datenbankverbindung erstellt wird. Diese Datei ist dann in der aktuellen PHP-Datei enthalten. – encrypted21

+0

in diesem Fall beziehen Sie sich darauf. http://php.net/manual/en/pdostatement.fetch.php PDO :: FETCH_NUM: gibt ein Array zurück, das nach Spaltennummer indiziert ist, wie in der Ergebnismenge zurückgegeben, beginnend mit Spalte 0 – chandan

+0

Oh, OK. Vielen Dank! – encrypted21

Verwandte Themen