[PHP-MYSQL] Anzahl der Einträge nur einer Spalte ausgeben!

deDe

Lieutenant
Registriert
Juli 2004
Beiträge
843
Hi,
ich möchte die Anzahl der Einträge einer bestimmten Spalte ausgeben.
Wie setze ich das um? mysql_num_rows(); zählt mir nur die Anzahl der Zeilen meiner Tabelle
PHP:
<?php
include "mysql/config.php";
$anfragen="SELECT Photoshop FROM tutorials";
$ergebnis=mysql_query($anfragen);
$count=mysql_num_rows($ergebnis);
echo $count; 
?>
Der Code gibt mir immer die gleiche Zahl aus, nämlich die Anzahl der Zeilen in der Tabelle.

In der Spalte Photoshop der Tabelle sind 9 Einträge. Wie gebe ich diese Zahl aus?
Ich weiss, dass ich Count benutzen muss, aber kann es nicht wirklich umsetzen..
Wäre nett, wenn ihr mir genau erklärt wie man das macht und hoffe ich habe mich verständlich ausdrücken können.
danke im vorraus

deDe
 
Hallo,

wie du schon selbst angesprochen hast, ist COUNT() die beste Lösung.
Dies könnte dann so aussehen:

PHP:
<?php
include("mysql/config.php");

$abfrage = mysql_query("SELECT COUNT(*) AS anzahl FROM tutorials");
$anzahl = mysql_result($abfrage, 0, "anzahl");

echo $anzahl;
?>
In der WHERE-Klausel kannst du dann wie gewohnt noch Bedingungen hinzufügen, welche Datensätze betroffen sein sollen.

Statt "*" kannst du auch einen Spaltennamen einsetzen. Dann werden nur Datensätze berücksichtigt, in denen kein NULL-Wert in dem entsprechendem Feld vorhanden ist.

MfG mh1001
 
Zuletzt bearbeitet:
Damit zeigt er mir weiterhin die Anzahl der Zeilen der ganzen Tabelle an, unabhängig davon ob da die Wildcard * oder der Spaltenname dasteht.
 
Wie schon angesprochen musst du die Abfrage entsprechend in der WHERE-Klausel anpassen.
Solltest du nicht mit NULL-Werten arbeiten und alle Datensätze zählen wollen, bei denen die Spalte "Photoshop" nicht leer ist, so könnte die Abfrage so aussehen:

Code:
SELECT COUNT(*) AS anzahl FROM tutorials WHERE Photoshop != ''
MfG mh1001
 
Zuletzt bearbeitet:
Zurück
Oben