MySQL Count Distinct afbeelden in PHP?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Java Developer Onderzoeksinstituut Architec

Bedrijfsomschrijving Als Senior Java Developer kom je te werken bij een internationaal gerenommeerd onderzoeksinstituut. Dagelijks is dit instituut verantwoordelijk voor de juiste samenwerking, toegankelijkheid en communicatie voor circa 9000 interne gebruikers. In een team van elf ontwikkelaars ben je als Senior Java Developer verantwoordelijk voor het ontwikkelen van functionele ontwerpen naar technische oplossingen. Deze projecten bestaan o.a. projecten zoals het implementeren van Elastic Search en het koppelen van CMS. Ook fungeer je als vraagbaak voor je collega’s op het gebied van backend softwareontwikkeling. Daarnaast denk je graag mee op het gebied van architectuur qua mogelijke oplossingen en innovatie. Momenteel zijn

Bekijk vacature »

Eric Verboven

Eric Verboven

05/06/2020 15:14:32
Quote Anchor link
Hoe beeld ik het aantal items en de naam van de items af uit een MySQL tabel af in PHP? Neem als fictief voorbeeld van een tabel “db_Handig_spul”, met als inhoud het veld “tabel_bestek”:

Lepel
Lepel
Mes
Vork
Vork
Vork
Mes
Lepel
Lepel
Lepel

Hoe krijg ik die via PHP en MySQL te zien als geordende aantallen, dus zoiets:

5 Lepel
3 Vork
2 Mes

De SQL lukt wel min of meer, denk ik, maar ik heb geen idéé hoe ik dit in PHP moet vertalen. Kan iemand me helpen met een streepje werkende code?

Dank!
Gewijzigd op 05/06/2020 15:15:28 door Eric Verboven
 
PHP hulp

PHP hulp

26/10/2020 01:44:53
 
- Ariën -
Beheerder

- Ariën -

05/06/2020 15:19:24
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
SELECT COUNT(items),items
FROM tblname
GROUP BY items
ORDER BY COUNT(items) DESC;


Zoiets?
Gewijzigd op 05/06/2020 15:19:41 door - Ariën -
 
Eric Verboven

Eric Verboven

05/06/2020 17:44:07
Quote Anchor link
Bedankt, Ariën, daarmee kom ik een eind verder. Ik heb de SQL ietsje korter gemaakt, en de PHP om het zaakje af te beelden, zou bv. zo kunnen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
//server, user enz. heb je uiteraard al gedefinieerd
$conn = mysqli_connect($server, $user, $password, $database);
if (!$conn) {
   die("Connectie met database is mislukt " . mysqli_connect_error());
}


$sql = "SELECT COUNT(items) as aantal, items FROM tblname GROUP BY items ORDER BY aantal DESC";
$result = mysqli_query($conn, $sql);

$resultcheck = mysqli_num_rows($result);
echo "<br>Je hebt " . $resultcheck . " items. Per item heb je het volgende aantal exemplaren:<br>";

//$gegevens = array();
if (mysqli_num_rows($result) > 0) {
   while($row = mysqli_fetch_assoc($result)) {
       //$gegevens[] = $row;
       echo $row['aantal'] . " stuks van " . $row['items'] . "<br>";
   }
}


// Als je een en ander in een array mee wil nemen, kan je de commentaar bij $gegevens hierboven wegdoen, 2x
?>
Gewijzigd op 05/06/2020 17:49:38 door Eric Verboven
 
Jan R

Jan R

05/06/2020 18:32:05
Quote Anchor link
Eric Verboven op 05/06/2020 17:44:07:
Ik heb de SQL ietsje korter gemaakt


Eigenlijk niet. Je hebt alles gewoon op 1 rij.
Door schade en schande heb ik geleerd dat de manier van ariën beter is.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
select
    veld1,
    veld2,
    veld...
from
    tbl
join
    tbl2
    on x=y
enz

Je hebt ook een 'as' toegevoegd. Net die mag weg:)

Jan
 



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.