phpbar.de logo

Mailinglisten-Archive

[php] =?iso-8859-1?Q?AW=3A_=5Bphp=5D_Datens=E4tze_z=E4hlen?=

[php] AW: [php] Datensätze zählen

Beck, Mike php_(at)_phpcenter.de
Sun, 28 Oct 2001 19:15:31 +0100


>   ////// Code-Beginn
> 
>   $sti_ges = mysql_num_rows(db("SELECT logo1 FROM eeshq_shirts"))
>   + mysql_num_rows(db("SELECT logo2 FROM eeshq_shirts"))
>   + mysql_num_rows(db("SELECT logo3 FROM eeshq_shirts"));
> 
>   ///// Code-Ende
> 
>   Das Problem ist IMHO die Funktion mysql_num_rows. Aber mir ist
>   keine andere Funktion bekannt, mit welcher ich die _ausgefüllten_
>   Felder in einer Spalte zählen könnte.
> 
>   Weiss jemand eine Lösung oder eine Anregung oder vielleicht ein
>   Link?
> 

mysql_num_rows is schon ok - der gibt Dir aus, wieviele Zeilen dein Ergebnis
hat - brauchst bloss dafür zu sorgen, dass dein Ergebnis nur die Zeilen
enthält die dich interessien:

select logo1 from eeshq_shirts where logo1 is not null;

sollte Dich da wohl weiterbringen ;-)
(vorausgesetzt die leeren Einträge sind wirklich null und nicht etwa ''

im übrigen glaube ich aber dass der mysql-server weniger belastet wird, wenn
Du ihn nur

select count(logo1) from eeshq_shirts where logo1 is not null;

fragst - dann braucht er wohl nicht alle Inhalte von logo1 anzuschauen,
sondern nur zusammenzuzählen welche er findet, die nicht null sind.


wo ich jetzt gerade aber auch etwas scheiter: ganz fein wäre natürlich was
wie

select count(logo1),count(logo2),count(logo3) from eeshq_shirts;

um alle auf einmal abzufragen. Nur wirds dann nix mit dem where logo1 is not
null, logo2 is not null - er soll ja wohl auch ergebnisse ausgeben bei denen
logo1 null ist, logo2 aber nicht. Weiss jemand ob man da mit ifnull
irgendwas basteln kann?
geht da irgendwas wie:
select count(ifnull(logo1))
??


--
Gruß

Mike Beck
mike.beck_at_ibmiller.de


php::bar PHP Wiki   -   Listenarchive