Problem med kunder der købte denne vare købte også Script
Hejsa allesammen!
Jeg har lidt problemer med mit "kunder der købte denne vare købte også:" script.
Scriptet vælger korrekt alle vareid'er udfra ordrertabellen, der er købt i forbindelse med det viste produkt, men hvis den samme vare er købt flere gange i forbindelse med det viste produkt, bliver den vist flere gange på listen, hvilket jo ser ret dumt ud.
Kan ik lige se mig ud af hvordan jeg skal kringle det, så hvis det samme produkt optræder flere gange i arrayet, bliver det stadigt kun vist een gang, og hvis et klogt hoved kunne hjælpe, ville det være guld.
$vareidselect = mysql_query("SELECT ordreid FROM ordrer WHERE vareid = '$id'") or die (mysql_error()); while($fetchvareselect = mysql_fetch_array($vareidselect))
{
$outpickselect = mysql_query("SELECT * FROM ordrer WHERE ordreid = '$fetchvareselect[ordreid]' and vareid != '$id'") or die (mysql_error());
Når jeg kører det udskriver det værdierne: 16 34 12 22 25 37 23 182 228 34 25 75 25 37 228 236 237 238 260 254 97 254 og som man kan se, er der flere værdier der optræder flere gange :(
$vareidselect = mysql_query("SELECT ordreid FROM ordrer WHERE vareid = '$id'") or die (mysql_error()); while($fetchvareselect = mysql_fetch_array($vareidselect)) {
$resulta = mysql_query("SELECT DISTINCT vareid FROM ordrer WHERE ordreid = '$fetchvareselect[ordreid]' and vareid != '$id' GROUP BY vareid"); while($fetchvarer = mysql_fetch_array($resulta))
{ echo "$fetchvarer[vareid]" . "\n"; }
} ?>
Men desværre udskriver hun stadig dette: 16 34 12 22 25 37 23 182 228 25 34 25 37 75 228 236 237 238 260 254 97 254
$vareidselect = mysql_query("SELECT ordreid FROM ordrer WHERE vareid = '$id'") or die (mysql_error()); while($fetchvareselect = mysql_fetch_array($vareidselect)) {
$resulta = mysql_query("SELECT vareid FROM ordrer WHERE ordreid = '$fetchvareselect[ordreid]' and vareid != '$id' GROUP BY vareid"); while($fetchvarer = mysql_fetch_array($resulta))
$vareidselect = mysql_query("SELECT ordreid FROM ordrer WHERE vareid = '". $id ."'") or die (mysql_error()); while($fetchvareselect = mysql_fetch_array($vareidselect)) {
$resulta = mysql_query("SELECT vareid FROM ordrer WHERE ordreid = '". $fetchvareselect['ordreid'] ."' and vareid != '". $id ."' GROUP BY vareid"); while($fetchvarer = mysql_fetch_array($resulta))
$vareidselect = mysql_query("SELECT ordreid FROM ordrer WHERE vareid = '$id'") or die (mysql_error()); while($fetchvareselect = mysql_fetch_array($vareidselect)) {
$resulta = mysql_query("SELECT vareid FROM ordrer WHERE ordreid = '$fetchvareselect[ordreid]' and vareid != '$id' GROUP BY vareid"); while($fetchvarer = mysql_fetch_array($resulta))
$vareidselect = mysql_query("SELECT ordreid FROM ordrer WHERE vareid = '". $id ."'") or die (mysql_error()); while($fetchvareselect = mysql_fetch_array($vareidselect)) {
$resulta = mysql_query("SELECT vareid FROM ordrer WHERE ordreid = '". $fetchvareselect['ordreid'] ."' and vareid != '". $id ."' GROUP BY vareid"); while($fetchvarer = mysql_fetch_array($resulta))
{ echo $fetchvarer['vareid']; }
} ?>
Den vil højst sandsynligt vise de samme numre, men heri er variablerne behandlet som de skal, men '' om arrays associative key.
Jeg har ingen anelse om hvad der går galt. har siddet og læst på group by og distinct, efter min forståelse burde det virke. Det er derfor jeg søger hjælp blandt eksperter.
Jaw, det returnerer: 1111912120125127130143149161818222228232362372382525426029343770747578889397
Så vidt jeg kan se, er der heller ikke 2 ens i den sætning?! Så er det jo et andet sted en i GROUP BY det går galt. Så må du stille og roligt bruge udelukkelsesmetoden, for jeg kan ikke lige se hvor det går galt.
$vareidselect = mysql_query("SELECT ordreid FROM ordrer WHERE vareid = '". $id ."'") or die (mysql_error()); while($fetchvareselect = mysql_fetch_array($vareidselect)) {
$resulta = mysql_query("SELECT vareid FROM ordrer WHERE ordreid = '". $fetchvareselect['ordreid'] ."' and vareid != '". $id ."' GROUP BY vareid ORDER BY vareid ASC"); while($fetchvarer = mysql_fetch_array($resulta))
{ echo $fetchvarer['vareid'] . ' '; }
} ?>
Så sorterer den også efter vareid, så er det lidt nemmere at se, hvor den går galt.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.