J'ai une base de données SQL qui contient un champ. Je peux obtenir tous les éléments dans ce domaine par:SQL Résultat Random loop through
$result=mysql_query($sql);
while($row=mysql_fetch_array($result)){
$ftype =$row['ftype']; //name of field is 'ftype'
print $ftype} //do something
Je veux un élément aléatoire à imprimer à chaque fois que la page est ouverte/rafraîchi. Sachant que le résultat est un tableau contenant l'information que je veux, je veux choisir au hasard un élément du tableau. Aussi, s'il y a N éléments dans le tableau, je veux choisir tous les N éléments exactement une fois avant de montrer un élément pour la deuxième fois. Le processus se répète. Je sais coder quelque chose comme ça en java ou en python, mais je ne pense pas que ce soit comme ça que je devrais aller.
Je pense que je dois utiliser javascript, mais je ne suis pas sûr de la technologie à utiliser.
MISE À JOUR:
idée de Patrick semble être exactement ce que je cherchais. J'ai pensé que je partagerais ce que j'ai maintenant et peut-être que vous pouvez suggérer l'optimisation. J'espère que l'intention dans le code est évidente.
<?
session_start();
if (!isset($_SESSION['count']) || !isset($_SESSION['randomArray'])) {
$count = 0;
$randomArray = array();
$sql="SELECT youtubeurl FROM Foodlist";
$result=mysql_query($sql);
while($row=mysql_fetch_array($result)){
array_push($randomArray,$row['youtubeurl']);
}
shuffle($randomArray);
$_SESSION['randomArray'] = $randomArray;
$_SESSION['count'] = $count;
} elseif ($_SESSION['count'] >= sizeof($_SESSION['randomArray'])){
$_SESSION['count'] = 0;
$randomArray = $_SESSION['randomArray'];
shuffle($randomArray);
$_SESSION['randomArray'] = $randomArray;
} else{
$randomArray = $_SESSION['randomArray'];
$count = $_SESSION['count'];
echo $randomArray[$count];
$_SESSION['count']++;
}
?>
Je ne pense pas que cela impliquera Javascript! –