Mailinglisten-Archive |
> ////// 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