[PHP/MySQL] Fixer valeur...

Résolu/Fermé
otherwise01 - 5 mars 2008 à 10:44
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 5 mars 2008 à 12:42
Bonjour à tous,

Je souhaite récupérer un champs au hasard :

SELECT xx FROM `yy` ORDER BY RAND() DESC LIMIT 0,1

Une fois sélectionné, je souhaiterais qu'il reste fixe, stocké dans une constante... mais je n'y arrive pas.

Pouvez-vous m'aider ?

Merci

7 réponses

Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 007
5 mars 2008 à 10:45
Bonjour,

Quand tu dis qu'il doit rester fixe, c'est sur combien de temps ? Pour une page, pour une session, pour une journée, un an ?

Xavier
0
Je dois la "fixer" pour 200 affichage donc pour ça j'ai créer un petit compteur, ça c'est bon.
Le problème c'est de fixer dans une constante le champs pris au hasard (SELECT xx FROM `yy` ORDER BY RAND() DESC LIMIT 0,1 )
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 007
5 mars 2008 à 10:57
Pour 200 pages d'un même utilisateur ?
Comment as-tu géré ton compteur ? Si tu arrives à incrémenter un compteur, tu peux faire la même chose avec une autre variable !
0
Non non 200 pages affichées quelque soit l'utilisateur.

Pour mon compteur j'ai créer en fait 2 compteurs dans ma BDD.
Un a 1 et l'autre à 200
Quand celui à 1 dépasse celui de 200, celui de 200 passe à 400...
0
Et je voudrait donc que lorsque le 2ème compteur passe par exemple de 200 à 400, un nouveau champs soit sélectionné au hasard.

J'espère être clair...
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 007
5 mars 2008 à 11:20
OK.
Pourquoi n'utiliserais-tu pas la même technique ?
Dans ta base de données, tu places un champ VARCHAR qui contient la valeur en question.
Quand le compteur passe à 200, tu en sélectionnes une nouvelle, avec laquelle tu remplaces la précédente !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Parce que je ne veux pas lui dire quel valeur choisir. Je veux que le champ soit choisi au hasard par le server... Mon problème est là.
0
Tu ne vois pas ? ...
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 007
5 mars 2008 à 12:42
Mais je ne comprends pas où est le problème, en fait...
Bon, considérons que le compteur soit à 0.
Tu sélectionnes une valeur :
<?php
$sql_compteur = "SELECT compteur1 FROM compteurs";
$rs_compteur = mysql_query($sql_compteur);
$donnees_compteur = mysql_fetch_array($rs_compteur);
$compteur = $donnees_compteur['compteur1'];

if ($compteur == 0)
{
    $sql_hasard = "SELECT xx FROM `yy` ORDER BY RAND() DESC LIMIT 0,1 ";
    $rs_hasard = mysql_query($sql_hasard );
    $donnees_hasard = mysql_fetch_array($rs_hasard);
    $hasard= $donnees_hasard['xx'];
    
    mysql_query("UPDATE hasard SET mot='$hasard'");
}
else
{
    $sql_hasard = "SELECT mot FROM hasard";
    $rs_hasard = mysql_query($sql_hasard );
    $donnees_hasard = mysql_fetch_array($rs_hasard);
    $hasard= $donnees_hasard['mot'];
}
Non ?

Xavier
0