Count

Flooow

Mitglied
Guten Tag,

ich versuche in meinem Programm die Anzahl aller Einträge zu counten, jedoch gelingt mir dies nicht. Entweder wird nur 1 ausgegebn oder einfach gar nichts.

PHP:
<?php
$cmd = Yii::app()->db->createCommand("SELECT blabla FROM blabla Where balbla=BLALA



$dataReader=$cmd->query();


 echo "<table border>";
 echo "<tr>";
 echo "<td>Nummer</td>";
 echo "<td>Name</td>";
 echo "<td>Vorname</td>";
 echo "<td>Strasse</td>";
 echo "<td>PLZ</td>";
 echo " <td>Stadt</td>";
 echo " <td>Partner</td>";
 echo " <td>Datum</td>";
  
         echo "</tr>";

         
 // Wiederholter Aufruf von read() bis false zurückgegeben wird
 while(($row=$dataReader->read())!==false) {

             
 // Mit foreach wird jede Datenzeile durchlaufen
 foreach($row as $wert) {
     echo " <td>$wert</td>";
    
    
         }
         echo "</tr>";
 }
 //Ausgabe Tabe

 echo "</table>";

 //Ausgabe Einträge
$anzahl = count($dataReader);
 echo "Die Anzahl aller Eintraege:".$anzahl;
 ?>

mit mysql_num_rows hab ich das auch schon probiert, aber ohne Erfolg.

Seht ihr noch eine Möglichkeit? :)
 
du greifst auf den dataReaderso zu: $dataReader->read()
Ergo ist $dataReader ein Objekt. Also kann die Funktion count($dataReader) nicht gehen.
Entweder hat die Klasse von welcher $dataReader eine Instanz ist eine Funktion count(), oder du zählst die Durchgänge deiner while-Schleife

PHP:
//entweder gibts sowas
$anzahl = $dataReader->count();
//oder
$anzahl = 0;
while(($row=$dataReader->read())!==false) {
    $anzahl++;
    //TODO: verarbeitung der Zeile
}

Nachtrag: Wenn du mit mysqli arbeitest, dann leifert ->query() ein Objekt vom Typ MySQLi_Result zurück. Laut PHP-Doku gibt es da ein Parameter num_rows
PHP:
$anzahl = $dataReader->num_rows;
Du schreibst, dass das nicht geht. Wie nicht geht? Fehlermeldung? Falsche Anzahl?
 
Ich möchte jetzt keinen neuen Thread aufmachen, aber könnte mir auch noch vielleicht jemand zeigen, wie ich meine Ausgabe mit Tabellenumrandungen und derartiges hinbekomme? weil jez wird alles stumpf abgeklackert aba die linien einer Tabelle sind nicht vorhanden.

danke =)
 
Öhm,
Das ist normales HTML!
PHP:
echo "<table border>"; 
// ändern in:
echo "<table border='1'>";
//oder per css
echo "<table class='meinTable'>";
und das per CSS formatieren.
 
Zurück