FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Medlem
|
Hejsan,
Jag har tänkt göra en "Kunder som har köpt denna produkt har även köpt..." funktion. Nu är frågan har jag gör en "bra" mysql fråga för att plocka ut 5 stycken slumpmässigt och olika produkter som kunderna också har köpt baserat på den aktuella produkten som visas. Jag lagrar ordrar på följande sätt: orderInfo => en tabell med orderinformation, t.ex. namn, adress, etc. orderItem => en tabell med beställda produkter med orderID som pekar på orderInfo och itemID som pekar på produkten. Så här ser min fråga ut just nu: mysql_query("SELECT DISTINCT t2.itemID as itemID FROM orderItem as t1, orderItem as t2 WHERE t1.itemID = \"$itemID\" AND t1.orderID = t2.orderID ORDER BY rand() LIMIT 5"); Men med explain ger frågan detta: table type possible_keys key key_len ref rows Extra t1 ALL NULL NULL NULL NULL X Using where; Using temporary; Using filesort t2 ALL NULL NULL NULL NULL X Using where Vilket inte ser så bra ut (X = antalet sålda produkter)? Sen utifrån detta skulle jag även behöva plocka ut produktinfo från en annan tabell baserat på itemID och vill helst slippa göra detta i en loop (som jag tidigare brukar göra ![]() Någon som har en ide om hur man kan göra detta på ett effectivt sätt? |
||
![]() |
![]() |
|
|