Affichage en continu sans doublon
Bonjour,
J'ai un diaporama dans lequel j'affiche des contenus dynamiques avec une requête différente pour chaque affichage en utilisant la fonction rand(). Le problème est que sur dix enregistrements, j'arrive à obtenir deux fois le même affichage malgré un rafraîchissement toutes les 30 secondes.
Je voudrais trouver une solution pour éviter ça.
Merci de votre aide.
J'ai un diaporama dans lequel j'affiche des contenus dynamiques avec une requête différente pour chaque affichage en utilisant la fonction rand(). Le problème est que sur dix enregistrements, j'arrive à obtenir deux fois le même affichage malgré un rafraîchissement toutes les 30 secondes.
mysql_select_db($database_article_recherche, $article_recherche); $query_rsArticles1 = "SELECT articles.reference, articles.prix, articles.designation, familles.intitule, articles.photo FROM articles, familles ORDER BY rand()"; $rsArticles1 = mysql_query($query_rsArticles1, $article_recherche) or die(mysql_error()); $row_rsArticles1 = mysql_fetch_assoc($rsArticles1); $totalRows_rsArticles1 = mysql_num_rows($rsArticles1);
Je voudrais trouver une solution pour éviter ça.
Merci de votre aide.
9 réponses
-
Ok merci je vais essayer tout ça.
-
Tes dix requêtes tu les fais dans une boucle ?
Moi je te conseil ca :
$res = tableau pour récupérer tes 10 requetes;
$id = tableau avec les id déjà récupéré;
Pour i = 0, tant que i < 10 :
requête en excluant les id déjà tiré;
$res[] = résultat de la requete;
$id .= ', ' . id que tu viens de tirer
-
En fait j'ai fait:
mysql_select_db($database_article_recherche, $article_recherche); $query_rsArticles2 = "SELECT articles.reference, articles.prix, articles.designation, familles.intitule, articles.photo FROM articles, familles WHERE reference NOT IN ('$_SESSION[monarray]')"; $rsArticles2 = mysql_query($query_rsArticles2, $article_recherche) or die(mysql_error()); $row_rsArticles2 = mysql_fetch_assoc($rsArticles2); $totalRows_rsArticles2 = mysql_num_rows($rsArticles2); $_SESSION['monarray2'] = $row_rsArticles2['reference'];
etc.
Mais quand ça a fait le tour et si lil y a moins d'enregistrement que de reqêtes, ça plante mais bon rien d'étonnant comme je m'y prends. -
Comment ca ?
Tu as déjà fait un code ?
Mon raisonnement était :
Tu initialises la session avec rien.
Tu fais tes dix requetes en rajoutant une clause where : IN NOT ($_SESSION), grossièrement hein.
Tu rajoute l'id que tu viens de prendre dans ta session.
Ainsi de suite ...
-
Bonjour,
Cela fonctionne pas si le total d'enregistrement est inférieur au nombre d'item dans le slider. -
Merci je vais essayer.
-
Met les en $_SESSION ;-)
-
De quelle façon ?
-
Salut !
Exclu les id que t'as déjà tiré, non ?