Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

(php/mysql) automatisch tellen van verschillende gegevens

Anoniem
Rumaro
11 antwoorden
  • Is het mogelijk om een database uit te lezen en dat de verschillende waarden apart worden genoemd en het aantal van hun aanwezigheid ?

    Voorbeeldje: ik heb een database 'fruitmand'
    en daar zitten in: appels en peren.

    Nu wil ik graag weten hoeveel maal er appels en hoeveel maal peren
    er in zitten.

    En als ik bv bananen toevoeg, dat die dan ook automatisch apart geteld worden.

    Zelf dacht ik aan iets als: for each item item=$item, if item exists totaal=totaal+1;

    Maar goed, foreach blijkt iets totaal anders te zijn en daarom hoop ik dat er iemand van jullie mij op weg kan helpen.
  • ik denk dat wat je wilt in SQl kan: SELECT COUNT(*) FROM fruitmand GROUP BY fruit

    als je db eruit ziet als
    appel
    peer
    appel
    peer
    banaan
    banaan
    banaan

    Of gebruik SUM(aantal) ipv COUNT:
    1 appel
    2 peren
    3 appels
    1 banaan
    2 peren

    Zie voor meer info de documentatie over GROUP BY
  • Ik ga er naar kijken, dankjewel. :D

    Ik kom op dit:

    mysql_query("SELECT FRUIT,COUNT(*) FROM tbl_stats GROUP BY FRUIT";);

    Ik ga dat vanavond gelijk eens uitproberen.

    :D
  • Ik krijg maar 1 waarde:
    include("config.php";);
    $db = mysql_connect($server,$user, $w8woord);
    $result = mysql_select_db($database,$db);
    $result = mysql_query("SELECT *,COUNT(*) FROM iplocator GROUP BY landkort";);
    $data = mysql_fetch_assoc($result);

    echo $data['landkort'];[code:1:0c0cef0ef9]

    Ik denk dat ik het resultaat niet goed uitlees, maar ik kan nergens vinden hoe dat in dit geval moet. [/code:1:0c0cef0ef9]
  • [code:1:35e3f25d15]while($data = mysql_fetch_row($result))
    {
    echo $data['fruit'], ': ', $data['aantal'], '<br />';
    }[/code:1:35e3f25d15]
  • Heel veel pagina's gevonden met uitleg hoe het werkt, maar hoe je de waarden zichtbaar maakt, geeneen.

    Ik heb nu dit, maar nog steeds geen resultaat:
    include("config.php";);
    $db = mysql_connect($server,$user, $w8woord);
    $result = mysql_select_db($database,$db);
    $result = mysql_query("SELECT landkort, COUNT(*) FROM iplocator GROUP BY landkort";);

    while($data = mysql_fetch_row($result))
    {
    echo $data['landkort'], ': ', $data['aantal'], '<br />';
    }[code:1:a158924832][/code:1:a158924832]
  • Okee,
    ik ben al wat verder, maar ik krijg niet helemaal het resultaat wat ik zoek.
    Ik wil graag weten hoe vaak de korte landcode voor komt.

    Nu heb ik dit:

    include("config.php";);
    $db = mysql_connect($server,$user, $w8woord);
    $result = mysql_select_db($database,$db);
    $query = "SELECT landkort, landlang FROM iplocator GROUP BY landkort";

    $result = mysql_query($query) or die(mysql_error());

    // Print out result
    while($row = mysql_fetch_array($result)){
    echo $row['landkort']. " - $". $row['landlang'];
    echo "<br />";
    }[code:1:1a287352c6]
    FR - $FRANCE
    GR - $GREECE
    HU - $HUNGARY
    IE - $IRELAND

    en het moet dus zijn/worden bijvoorbeeld:
    FR - 15
    GR - 12
    HU - 4
    IE - 19[/code:1:1a287352c6]

    Ja die COUNT(*) moet er nog in, maar hoe en wat ?, geen idee. :oops:
  • COUNT(*) heb je nodig om die aantallen te krijgen. Met AS [name] kan je de resultaatkolom een naam geven zodat je m zelf makkelijk in het resultaat kunt terug vinden, anders geeft SQL er zelf een (vaak onhandige) naam aan (zie documentatie).

    Gebruik dus COUNT(*) AS aantal en je kan het aantal vinden in $data['aantal']. Excuses dat ik dat niet eerder noemde, ik wist niet wat je al wel en nog niet wist.
  • Dat geeft niet, ik ben al lang blij dat je het me uitlegt.

    Een beetje zelfredzaamheid is ook niet verkeerd, maar ik kon het gewoon niet vinden op internet.

    Wel steeds het begin, maar niet hoe je het kon tonen.

    Ik ga het straks even aanpassen.

    Nogmaals heel erg bedankt. :D
  • Jaaah, het werkt !! nogmaals heel erg bedankt !!.

    Maar nog 1 vraag: waarom krijg ik die $ er voor ?

    RO - $1
    RU - $1
    TH - $1
    TW - $1
    UA - $1
    UK - $2
    US - $29
  • kijk nog eens goed naar je code (vrnl de regels waarop ge-echo'ed wordt) ;)

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.