Yawa Skrevet 17. august 2012 Del Skrevet 17. august 2012 (endret) /** * Get related products and randomize the order. ** * @param string $related_ids A string with comma sepparated intergers fetched from database like this : "172,17,72,234,40,1,68" * */ $arr = explode(',',$related_ids); shuffle($arr); foreach($arr as $id){ // do a new query for each $id } Har benyttet denne metoden til nå, men jeg ønsker og begrense antall relaterte produkter til maks 4. Altså velge kun opptil 4 id'er å jobbe med. Noen kjapp løsning på dette? Tenker litt på at det kanskje ville vert bedre å kjøre en egen sql-spørring mot egen tabell og sette LIMIT 4 - Men usikker på hvordan dette skulle bli gjort? LØSNING på array problemet: Sorry, men var for kjapp i avtrekkeren der ang. å begrense array resultatet til 4... Denne lille saken var løsningen: $count++; if ($count == 5) break; Men å joine tabellen mot seg selv er muligens en bedre løsning, hvis man får splitta strengen med id'ene da... Endret 17. august 2012 av Yawa Lenke til kommentar
amund Skrevet 21. august 2012 Del Skrevet 21. august 2012 Du kan også bruke array_slice() for å kutte ned på antall elementer, noe ala dette: $arr = explode(',',$related_ids); $arr = array_slice($arr, 0, 4); shuffle($arr); foreach($arr as $id){ // do a new query for each $id } 1 Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå