Hallo,
Ich hab folgendes Problem. Ich will in einer Tabelle zählen wieviele Einträge bereits in einer bestimmten Zeile stehen. Die Zeile ist gekennzeichnet durch eine ID.
Meine Vorgehensweise:
PHP-Code:
$result = mysql_query ("select * from $tabelle where id='$id'");
$anzahl = mysql_num_fields($result);
echo "Anzahl Daten in Tabelle: ".$anzahl." <br>";
Der Befehl zählt nun aber leider auch diejenigen Felder (Zellen) mit, in denen noch kein Eintrag steht, bzw in denen der Eintrag 0 (null) steht. Ich brauche aber die Anzahl der Zellen in denen irgendwann schon einmal Werte eingetragen wurden (also in denen nicht "gar nichts" oder 0 (Null) steht.
Muss ich dazu vielleicht die Attribute der Spalten in der MySQL Datenbank ändern ?
Im Moment sind die Spalten in denen die Werte eingetragen werden folgendermaßen definiert: Typ (varchar11); kollation (latin1general_ci) Null (nein) Standard (0).
Doch auch wenn als Standard in den Zellen, wo noch kein Wert ist, keine 0 (Null) eingetragen wird - also wenn in dem Feld unter phpMyAdmin dann gar nichts zu sehen ist (es also leer ist) wird es mitgezählt.
Wie kann ich das denn nur lösen ?
Ich denke man muss den Befehl in etwa folgendermaßen erweitern...
PHP-Code:
$result = mysql_query ("SELECT * from $tabelle WHERE id='$id'AND XXX !==0");
Dabei müsste man dann für XXX sowas einfügen wie "Inhalt der Zeile". Dann müsste die Abfrage mit mysql_num_fields doch nur noch die Anzahl der Zellen ausgeben, in denen eben NICHT Null steht, sondern ein Wert ?
Nur was muss ich dann für das XXX einsetzten ? Ich kann nirgends eine Erklärung dafür finden und bin langsam am verweifeln. Habe das Problem schon gestern in ein anderes Forum gepostet, aber da kann oder will man mit nicht helfen.
Vielen Dank vorab für jede Hilfe.
Frank