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!
SELECT COUNT(items),items
FROM tblname
GROUP BY items
ORDER BY COUNT(items) DESC;


Zoiets?
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:
<?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
?>
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.

select
	veld1,
	veld2,
	veld...
from
	tbl
join
	tbl2
	on x=y
enz

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

Jan

Reageren