Boucle while php

Résolu/Fermé
dj-postka Messages postés 2305 Date d'inscription dimanche 11 mai 2008 Statut Membre Dernière intervention 11 février 2019 - 30 nov. 2010 à 23:20
dj-postka Messages postés 2305 Date d'inscription dimanche 11 mai 2008 Statut Membre Dernière intervention 11 février 2019 - 20 déc. 2010 à 09:52
Bonjour,

Bon pour commencer j'ai très peut de connaissance en php.

Donc je vous explique mon problème avec cette fameuse boucle while:

J'ai un scritp php (index.php) pour un système de dédicasse. Dans ce scrip il y a une boucle while qui va chercher des infos sur ma BDD, et j'aimerai afficher le résultat sur ma page index.html.

voici le code de l'index.php:


<?php
include('config.php');
/*on selectionne les derniere 10derniere dedicase envoyer dans la bd e ton les li*/
$retour_dedi = mysql_query('SELECT * FROM dedicasse ORDER BY id DESC limit 0,10')or die(mysql_error("Impossible de selectionner les données dans la tables <b>'dedicasse'</b> "));

/* on verifie si une dedicasse existe */
$donnes_dedi_compte = mysql_num_rows($retour_dedi);
if($donnes_dedi_compte > 0){ /* si une dedicasse existe alors on continue le script */

/*petite boucle while pour afficher les 10 derniere dedi*/
while($donnes_dedi = mysql_fetch_array($retour_dedi)){

/*variables pour els dedicasse+secu */
$pseudo_dedicasse = htmlspecialchars($donnes_dedi['pseudo']);
$message_dedicasse = htmlspecialchars($donnes_dedi['message']);
$date_dedicasse = $donnes_dedi['date'];
?>
Par <b><u><?php echo $pseudo_dedicasse; ?></b></u> <i><?php echo $date_dedicasse; ?></i> - <b><u>Message:</u></b> <?php echo $message_dedicasse; ?> <b>.::.</b>  
<?php
}
}else{ /*aucune dedicasse existe on affiche un petit message :) */
?>
Il y a actuellement aucune dedicasse disponnible!
<?php
}
?>



Dans mon config.php, j'ai les infos de connexion à ma BDD. Je me suis servi de ce tuto pour mettre en place tout cela:
https://britania.ws/index.html


Merci d'avance a ceux qui pourront m'aider, je ne pense pas que ce soit compliqué.

2 réponses

jjsteing Messages postés 1669 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
Modifié par jjsteing le 1/12/2010 à 08:22
Bonjour,

Et donc quel est ton problème ??
A brut pour point, je vois principalement une erreur : /*petite boucle while pour afficher les 10 derniere dedi*/

mais aucun compteur n existe pour savoir quand il arrive au 10 ème résultat à afficher...

Après, je ne sait pas si il va bien te chercher les données dans ta bd, mais on vérifiera après ;)

voici le code que je mettrais :

<?php 
include('config.php'); 
/*on selectionne les derniere 10derniere dedicase envoyer dans la bd e ton les li*/ 
$retour_dedi = mysql_query('SELECT * FROM dedicasse ORDER BY id DESC limit 0,10')or die(mysql_error("Impossible de selectionner les données dans la tables <b>'dedicasse'</b> ")); 

/* on verifie si une dedicasse existe */ 
$donnes_dedi_compte = mysql_num_rows($retour_dedi); 
if($donnes_dedi_compte > 0){ /* si une dedicasse existe alors on continue le script */ 

/*petite boucle while pour afficher les 10 derniere dedi*/ 
$Html=""; 
$Compteur=1;
while($donnes_dedi = mysql_fetch_array($retour_dedi) && $Compteur <=10){ 

/*variables pour els dedicasse+secu */ 
$pseudo_dedicasse = htmlspecialchars($donnes_dedi['pseudo']); 
$message_dedicasse = htmlspecialchars($donnes_dedi['message']); 
$date_dedicasse = $donnes_dedi['date']; 

$Html.="Par <b><u><".$pseudo_dedicasse."</b></u> <i>".$date_dedicasse."</i> - <b><u>Message:</u></b>".$message_dedicasse."<b>.::.</b>";
$Compteur=$Compteur+1;
} 
}else{ /*aucune dedicasse existe on affiche un petit message :) */ 

$Html.="Il y a actuellement aucune dedicasse disponnible!"; 
} 
echo $Html; 
?> 
0
dj-postka Messages postés 2305 Date d'inscription dimanche 11 mai 2008 Statut Membre Dernière intervention 11 février 2019 299
20 déc. 2010 à 09:52
Bonjour, désolé du retard.

Donc le problèmes est résolu, il suffisait de mettre ma page en php hors elle était en html. j'ai fait un rafraîchissement dans une iframe pour que ça s'actualise régulièrement. Pas besoins de compte a rebours vu qu'il affiche en boucle.


Merci tout de même de ton aide, bonne journée.
0