count probleem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Robin

Robin

03/12/2006 15:31:00
Quote Anchor link
hallo,

ik gebruik onderstaande code om het aantal rijen in een bepaalde categorie op te halen :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php

// Selecteer de categorieen
$query = mysql_query("SELECT COUNT(*) AS x FROM page WHERE categorie = 'fietsen'");
$res = mysql_fetch_assoc($query);

?>


in dit geval telt hij dus de rijen uit de categorie "fietsen". Nu bestaat "categorie" uit 40 verschillende zaken, dus naast "fietsen" ook "brommers", "auto´s" etc

nu wil ik van elke categorie weten uit hoeveel rijen deze bestaan, maar het lukt me niet om dat in 1 regel code te zetten.

ik heb nu :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
// Selecteer de categorieen
$query = mysql_query("SELECT COUNT(*) AS x FROM page WHERE categorie = 'fietsen'");
$res = mysql_fetch_assoc($query);

$query2 = mysql_query("SELECT COUNT(*) AS x1 FROM page WHERE categorie = 'brommers'");
$res2 = mysql_fetch_assoc($query2);

?>


dit werkt wel, maar is natuurlijk erg omslachtig aangezien ik zo dus een hele grote code krijg als ik alle categorieen wil berekenen.

iemand een idee hoe ik dit in 1 query kan doen ?

ik zat zelf te denken aan het volgende, maar dat werkte niet :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
// Selecteer de categorieen
$query = mysql_query("SELECT COUNT(*) AS x,x1 FROM page WHERE categorie = 'fietsen', categorie = 'brommers'");
$res = mysql_fetch_assoc($query);

?>



of iets als :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
// Selecteer de categorieen
$query = mysql_query("SELECT COUNT(*) AS x FROM page WHERE categorie");
$res = mysql_fetch_assoc($query);

en dan hier iets om het per categorie te berekenen, maar weet alleen niet wat
?>
Gewijzigd op 01/01/1970 01:00:00 door Robin
 
PHP hulp

PHP hulp

19/04/2024 01:45:40
 
Jan Koehoorn

Jan Koehoorn

03/12/2006 15:33:00
Quote Anchor link
Zo krijg je ze per categorie, omgekeerd gesorteerd op aantal:

SELECT COUNT(id) AS aantal, categorie
FROM page
GROUP BY categorie
ORDER BY aantal DESC
 
Robin

Robin

03/12/2006 15:40:00
Quote Anchor link
bedankt voor je reactie,

maar stel dat ik nu ergens op het scherm het aantal rijen van "brommers" naar het scherm wil schrijven, dus alleen het aantal en niet de categorienaam erbij.

hoe moet ik dat dan echo-en ?

iets als :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $res.brommers['aantal']; ?>
Gewijzigd op 01/01/1970 01:00:00 door Robin
 
Jan Koehoorn

Jan Koehoorn

03/12/2006 15:43:00
Quote Anchor link
Je voert eerst de query uit met een errorcheck erbij natuurlijk. Dan kun je met mysql_fetch_assoc aan de gang. Bijv:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
    while ($row = mysql_fetch_assoc($res)) {
        echo $row['aantal']
    }

?>


Je hebt ook $row['categorie'] beschikbaar na uitvoeren van de voorbeeldquery, maar die gebruik je dan gewoon niet. Het lijkt me trouwens overzichtelijker om hem wel te gebruiken, maar die keuze is aan jou.
 
Robin

Robin

03/12/2006 16:03:00
Quote Anchor link
ik gebruik een andere benaming dan in $row['categorie'] staat. Op mijn pagina staat bijvoorbeeld :

onze fietsen collectie bestaat uit
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $row ['aantal']; ?>
artikelen

en

onze brommer collectie bestaat uit
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $row ['aantal']; ?>
brommers

maar hoe weet hij in jouw voorbeeld van welke categorie hij het aantal erachter moet zetten ?

dus in mijn ogen moet het iets worden als :

onze fietsen collectie bestaat uit
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $row.categorie ['aantal']; ?>
artikelen

begrijp je een beetje wat ik bedoel ? of snap ik jou niet ha ha ?
 
Jan Koehoorn

Jan Koehoorn

03/12/2006 16:08:00
Quote Anchor link
Ik zou het dus zo doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
    while ($row = mysql_fetch_assoc($res)) {
        echo '<p>onze categorie ' . $row['categorie'] . ' bestaat uit: ' . $row['aantal'] . '</p>';
    }

?>
 
Robin

Robin

03/12/2006 16:29:00
Quote Anchor link
jan,

dat werkt inderdaad, maar dat is niet wat ik bedoelde..jij laat nu mbv de while lus alle categorieen onder elkaar zien met daarachter het aantal.

dit is niet mijn bedoeling. Ik wil ze echt apart naar het scherm schrijven omdat mijn pagina indeling anders niet meer klopt.

linksbovenaan staat bijvoorbeel "fietsen" met een plaatje omschrijving en logo´s daarin moet het aantal fietsen komen te staan.

hetzelfde geld voor brommers alleen dan op een andere plek op de site....

met jouw voorbeeld gaat met dat niet lukken,vandaar dat ik een manier zoek om ze echt apart te echo-en
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.