wissim Posté 5 Avril 2007 Posté 5 Avril 2007 Bonjour, J'ai fait un script qui génére dans une fonction une boucle de date prise dans une db [TAG] (ca fonctione). J'ai ensuite une autre boucle via db) pour afficher des articles dans un tableau (ca fonctionne). Mais dans un des articles j'ai mon tag qui doit en téhorie être remplacé par le résultat de la fonction; et la ca ne marche plus. La liste des dates ne s'affiche pas et je n'est pas d'erreur php. De plus j'ai a la place du tag le point résultant du <li></li> qui encadre chaque ligne du résultat de la boucle. Le plus simple serait de vous montrer le code. <?php // Connexion Serveur require_once('Connections/db.php'); // Récupere la date du serveur $date_serveur = date("Y-m-d"); // Selection des dates de sortie mysql_select_db($database_connect, $connect); $query_boucleacceuil = "SELECT * FROM date WHERE date >= '$date_serveur' ORDER BY date ASC"; $boucleacceuil = mysql_query($query_boucleacceuil, $connect) or die(mysql_error()); $row_boucleacceuil = mysql_fetch_assoc($boucleacceuil); $totalRows_boucleacceuil = mysql_num_rows($boucleacceuil); // Fonction pour la boucle function display_date_boucle_accueil() { global $boucleacceuil, $row_boucleacceuil; // La boucle do { $html.= '<li class="txt">'.$row_boucleacceuil['lib'].' - '.$row_boucleacceuil['type'].'</li>'; } while ($row_boucleacceuil = mysql_fetch_assoc($boucleacceuil)); // Fin de la boucle return $html; } // Fin de la fonction // récupération des articles $req_ac = 'SELECT * FROM accueil WHERE accueil.aff_article="1" ORDER BY accueil.id ASC'; // Récup le résultat dans un table $res_ac = mysql_query($req_ac); while($data_ac = mysql_fetch_array($res_ac)) { // on stocke les données $tablo_ac[]=$data_ac; } // Affichage dans un tableau de N colonne $nbcol=3; // construction du tableau echo '<table cellpadding="5">'; for($f=0;$f<count($tablo_ac);$f++){ if($f%$nbcol==0) echo '<tr>'; echo '<td valign="top"><div id="AccueilTitreInfo">'.$tablo_ac[$f]['titre'].'</div>'.str_replace('{{insert_date_accueil}}', display_date_boucle_accueil(), $tablo_ac[$f] ['article']).'<br /><br /></div></td>'; if($f%$nbcol==($nbcol-1) or $f==(count($tablo_ac)-1)) echo '</tr>'; } echo '</table>'; // fin construction du tableau //affichage de la boucle seule //echo $html=display_date_boucle_accueil(); mysql_free_result($boucleacceuil); ?> En somme chaque boucle marche indépandanement l'une de l'autre, mais pas ensemble. Pour info se systeme de tage et de fonction est acctuellement utilisé mais pour l'affichage d'un seul article par page, et ca marche trés bien. Merci pour l'aide que vous pourrez m'apporter.
lionel.a Posté 7 Avril 2007 Posté 7 Avril 2007 Bonjour, L'erreur provient de ta ligne : echo '<td valign="top"><div id="AccueilTitreInfo">'.$tablo_ac[$f]['titre'].'</div>'.str_replace('{{insert_date_accueil}}', display_date_boucle_accueil(), $tablo_ac[$f] ['article']).'<br /><br /></div></td>'; En effet, tu ne peux pas mettre un echo qui doit afficher, entre autre parmi les caractères, ta fonction qui elle ne retourne pas un seul résultat (avec return par exemple). Il te faut la scinder. J'ai survolé ton code (je ne me suis pas apesenti sur ce qui est retourné ou affiché par ta fonction), mais essaye au moins ça, ça devrait te mettre sur la bonne voie : echo '<td valign="top"><div id="AccueilTitreInfo">'.$tablo_ac[$f]['titre'].'</div>'.str_replace('{{insert_date_accueil}}';display_date_boucle_accueil();echo $tablo_ac[$f] ['article']).'<br /><br /></div></td>';
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant