Ik heb een database met de volgende tabel: Bestellingen.
Deze tabel wil ik dmv de volgende velden: Artikelen en Aantallen laten sorteren op het meest gekozen/bestelde product.
Aangezien het makkelijker was om de gekozen artikelen + aantallen direct te plaatsen vanuit de winkelmand naar de uiteindelijke bestelling, worden ze op de volgende wijze geplaats in de database (velden):
- Order_ID: Nieuw automatisch ordernummer,
- Artikel_ID: Gekozen artikelen achter elkaar onderscheiden door ';' (dus bv: 14;9;2;11)
- Aantal: Aantallen acher elkaar onderscheiden door ';' (dus bv: 1,2,1,3) Deze hebben dezelfde volgorde als artikelen. Dus artikel_ID 9 is 2 keer besteld.
Nu wil ik de artikelen laten sorteren op meest gekozen (eerste 10)
Tot nu toe heb ik dit maar ik kom er niet echt verder uit.
---------------------------------------------------
<?php
$query = mysql_query ("SELECT * FROM Bestellingen");
while ($result = mysql_fetch_array($query)){
$Artikel_ID = $result['Artikel_ID'];
$Aantal = $result['Aantal'];
$Order_ID = $result['Order_ID'];
$array_art = explode(";", $Artikel_ID);
$array_aantal = explode(";", $Aantal);
$c = count ($array_art)-1;
echo $Order_ID;
for($i=0; $i<$c; $i++){
$value1 = $array_art[$i];
$value2 = $array_aantal[$i];
$optelsom .= "-".$value1;
echo "Value: $value1 - $value2";
}
echo "<br>";
echo "<br>";
}
echo $optelsom;
?>
-------------------------------------------
Volgens mij zit ik helemaal fout en kan het veel makkelijker.
Ik wil in principe gewoon de(zelfde) artikel_ID's tellen en multipliceren met het aantal.
Stel ik heb dit in de database staan:
Artikel_ID: 14;12;9;12;9;5;14;12
Aantal: 1;1;2;1;2;1;1;1
Dan ik even een simpele weergave die onderussen onthouden moet worden:
14 12 9 9 12 9 9 5 14 12
Vervolgens
9 (4x)
12 (3x)
14 (2x)
5 (1x)
Als ik deze artikelen eenmaal in deze volgorde heb, dan kan ik zo de bijhorende artikelen uit de artikelen tabel oproepen.
ZOUDEN JULLIE MIJ KUNNEN HELPEN?
669 views