Format affichage imposé mais réponse aléatoire!

Résolu
wynelle Messages postés 24 Date d'inscription samedi 26 juin 2004 Statut Membre Dernière intervention 11 septembre 2005 - 24 mars 2005 à 00:18
moimadmax Messages postés 18 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 27 novembre 2008 - 24 mars 2005 à 00:55
Bonjour et merci à Anthomicro pour ses précédents conseils qui m'ont permis d'en arriver à ce point... et là, je coince à nouveau

Voila, je souhaite afficher 4 images (lien URL) dans un cadre suivant une requête aléatoire sur le champ ("NEW") et avec une condition ("FIN_NEW").

J'affiche les 4 images mais ce sont TOUJOURS les 4 MEMES

J'aimerais que les 4 soient DIFFERENTES et que lors de la recharge de la page, ce soit 4 autres qui s'affichent.

Voici mon code, merci d'avance pour votre aide.

//partie de connexion a la bdd
$serveur = "localhost";
$login = "root";
$pass = "";
$connexion = mysql_connect( $serveur, $login, $pass );
mysql_select_db( "xxx", $connexion );


$result = mysql_query("SELECT ID,NEW FROM bnb_inscrits WHERE NEW='OUI'");
if(!$result) {
// redirection erreur
echo '<Pas d\'enregistrements dans cette table...';
exit;
}


$ret = mysql_fetch_array($result);


// nombre de lignes
$nb_results = $ret[0];


// date du jour
$date_j=date("Y-m-d");


// exemple de requete
$result = mysql_query("SELECT ID,CP,INTITULE,NEW,FIN_NEW FROM bnb_inscrits WHERE NEW='OUI' AND FIN_NEW>='.$date_j.' ORDER BY RAND() LIMIT 1");


//=========================================
// si on a récupéré un resultat on l'affiche.
//=========================================
if($nb_results) {
while($row = mysql_fetch_array($result)) {
$cp_cut = substr($row['CP'],0,2);
echo '<td height="107" valign="middle" align="center" width="120" colspan="3" bgcolor="#2E57A5">';
echo '[fiche.php?id='.$row['ID'].' ] [fiche.php?id='.$row['ID'].' ]';
echo '[fiche.php?id='.$row['ID'].' ] [fiche.php?id='.$row['ID'].' ]';
echo '</td>';
}
}
else echo 'Pas d\'enregistrements dans cette table...';
mysql_free_result($result);
?>

1 réponse

moimadmax Messages postés 18 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 27 novembre 2008
24 mars 2005 à 00:55
En fait dans ta requete tu limite a 1 reponse. donc la base de
donné te renvoie une ligne. et dans ton while tu les affiches deja 4
fois. donc il affiche 4 fois la meme.

Solution:

// exemple de requete
$result = mysql_query("SELECT ID,CP,INTITULE,NEW,FIN_NEW FROM bnb_inscrits WHERE NEW='OUI' AND FIN_NEW>='.$date_j.' ORDER BY RAND() LIMIT 4");

//=========================================
// si on a récupéré un resultat on l'affiche.
//=========================================
echo '<td height="107" valign="middle" align="center" width="120" colspan="3" bgcolor="#2E57A5">';

if($nb_results) {
while($row = mysql_fetch_array($result)) {
$cp_cut = substr($row['CP'],0,2);
echo '[fiche.php?id='.$row['ID'].' ]';
}
}
else echo 'Pas d\'enregistrements dans cette table...';
echo '</td>';
mysql_free_result($result);


DOnc la j'ai limiter a 4 le nombre de reponse (limit 4).

et il n'affiche qu'une photo par boucle dans le while.

donc comme il y a 4 reponses il y aura 4 photos differentes :)



>Madmax, Parce que le Java c'est bien et le php aussi :p
3
Rejoignez-nous