beste,

ik heb een stukje tekst uit mijn php getrokken.
in de database heb ik meerdere dingen staan.

categorie_product 1, categorie_product 2, enz
ik moet alleen die laten zien zeg maar.
ik heb dus de COUNT functie gebruikt.
ik heb hem laten echo-en en dan geeft hij het goeie aantal aan (wat logisch is ;) )

maar als ik het dan in beeld breng wat hij naar voren moet halen uit de database gaat het fout.
hij laat er maar 1 zien van de 2 of 3.

wie heeft het verlossende antwoord voor mij?

Hier de tekst:

<?php
$query21 = "SELECT * FROM categorie WHERE categorie_id=".$_GET["categorie_id"];
$result21 = mysql_query($query21) or die (mysql_error());

while(list($cat_id, $categorie_id, $productnaam) = mysql_fetch_row($result21)){

$query20 = "SELECT * FROM webshop WHERE categorie_product=".$_GET["categorie_id"]." ORDER by id_product DESC";
$result20 = mysql_query($query20) or die (mysql_error());
// gegevens ophalen en toekennen aan tijdelijke variablen
}
while ($rij = mysql_fetch_array($result20)){
$id_pro = $rij['id_product'];
}
$query13 = mysql_query("SELECT COUNT(categorie_product) FROM webshop WHERE categorie_product=".$_GET["categorie_id"]."");
$result13 = mysql_result($query13, 0);
//Config:
$aantalproducten=$result13; //Hoeveel producten heb je?
$id=$id_pro;//Het start getal

?>
Count is een aggregate functie. Aggregate functies geven eigenlijk een soort totaal overzicht over 1 of meerdere records. Je krijgt dus eigenlijk maar één record terug. of bij een 'group by' enkele records.

een klein voorbeeldje:
Stel je hebt een een tabel met openstaande orders (je order portefeuille) en je hebt daarin een kolom order_total. dus je weet van iedere order het totaal bedrag maar nog niet het bedrag van alle orders bij elkaar maw voor welk bedrag er totaal in de order portefeuille zit.
dat kun je dan met de aggregate functie SUM() berekenen.

SELECT SUM(order_total) as total FROM open_orders;

je krijgt dan dit:

=========
| total |
---------
| 12356 |
=========

[/code]

Reageren