Gå til innhold

ordne i tilfeldig rekkefølge samt begrense array til maks 4


Anbefalte innlegg

Skrevet (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 av Yawa
Videoannonse
Annonse
Skrevet

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
}

  • Liker 1

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...