Hallo,

Echt een beginnersvraag vond ik het niet dus ik post 'm hier maar :)

Ik heb een hele simpele query die alle tags op random volgorde uit een database haalt. Echter zou ik willen dat de tags worden herhaald tot een bepaalde hoeveelheid.

Als er in de database dus een tag a, een tag b en een tag c staat zou ik graag willen dat de output iets wordt van b, c, a, c, a, b, c, b etc. Repeat van random sort output dus.

Huidige code gewoon simpel:

$getdata = "SELECT * FROM `tags` order by rand()";
$getdatasql = mysql_query( $getdata );
while( $data = mysql_fetch_assoc( $getdatasql ) )
{ 
        echo $data['tag'];
	echo " • ";
}


Bij voorbaat dank voor de hulp!
Wat je zou kunnen doen is gewoon de tags eruit halen. Die in een array zetten en die door elkaar halen met [php]shuffle[/php] deze code echoën en dan weer herhalen:
<?php
// Vars declareren
$tags = array();
$lijstje = '';
$sQuery = "SELECT tag FROM tags";
//Gebruik geen backtricks en selecteer wat je wilt in de query
$result = mysql_query($sQuery);
while($row = mysql_fetch_assoc($result))
{//Gegevens ophalen
$tags[] = $row['tag'];
}
for($i=0;$i < 10; $i++)
{// Code 10 keer uitvoeren
shuffle($tags); // $tags door elkaar halen
foreach($tags as $tag)
{// Voor elke tag tag in $lijstje
$lijstje .= $tag.',';
}
}
echo substr($lijstje, 0, -1); // Laatste komma weghalen

Reageren