donnnée foreach ne s'affiche pas

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : donnnée foreach ne s'affiche pas

Re: donnnée foreach ne s'affiche pas

par bostak » 20 déc. 2011, 01:43

Ah oui d'accord j'ai compris donc cela donne

Code : Tout sélectionner

echo $row['title'] echo $row['content']
Je viens de tester cela fonctionne parfaitement.

Merci beaucoup pour ces explications très claires qui m'ont bien fait comprendre ce fonctionnement. Encore une fois merci!

Cordialement,

Re: donnnée foreach ne s'affiche pas

par Calimero » 20 déc. 2011, 01:31

Bonsoir bostak,

Pour rappel, quand on écrit :
<?php foreach( $tableau as $element ){}
La première variable (avant le as) est le tableau sur lequel on va boucler (il s'agit donc d'une variable qui existe, est définie quelquepart précédemment dans le script, souvent juste avant le foreach).

La deuxième variable (après le as) est juste un nom, ne correspondant pas forcément à une variable qui existait avant le foreach, et désigne simplement le "curseur", c'est à dire l'item courant du tableau sur lequel on boucle (la partie qui change à chaque passage de la boucle quoi).

Quelques exemples simples (pour être sûr que ça rentre) :
<?php
foreach( $pile_dassiettes as $assiette ){ range($assiette); }

foreach( $semaine as $jour ){ echo $jour; }

foreach( $repertoire as $fichier ){ include($fichier); }
Le point commun entre les trois exemples ? Sauf exception, on n'utilise jamais dans le foreach() le tableau sur lequel on est en train de boucler. Par contre on devrait presque toujours y utiliser le curseur quelquepart.

Maintenant regarde bien ton foreach (et réfléchis au message d'erreur...). Rien ne te choque ? :)
vueBillet.php
 
<html>
<head>
</head>

	<body>
		<div id="body">
		<?php
			foreach ($table AS $row)
			{
				echo '<div id="titleBillet">';
				echo $table[title];
				echo '</div>';
			
				echo '<div id="contentBillet">';
				echo $table[content];
				echo '</div>';
			
			}
		
		
		
		
		?>


		</div>
</body>



</html>

donnnée foreach ne s'affiche pas

par bostak » 20 déc. 2011, 00:08

Bonsoir,

J'ai encore un problème, alors voici mon code :

index.php

Code : Tout sélectionner

include("views/vueNavigation.php"); include("views/vueMenu.php"); include("pages/getBillet.php"); $table = getBillet(); var_dump($table); include("views/vueBillet.php");
getBillet.php

Code : Tout sélectionner

<?php function getBillet() { $ressource = mysql_query("SELECT idbillets, title, content FROM billets"); $result= array(); while($row=mysql_fetch_assoc($ressource)) { $result[]=$row; } return $result; } ?>
vueBillet.php

Code : Tout sélectionner

<html> <head> </head> <body> <div id="body"> <?php foreach ($table AS $row) { echo '<div id="titleBillet">'; echo $table[title]; echo '</div>'; echo '<div id="contentBillet">'; echo $table[content]; echo '</div>'; } ?> </div> </body> </html>
sur mon index.php mon var_dump sert à vérifier que la fonction me retourne bien un tableau qui contient bien des données c'est le cas ici.
Mais j'ai un problème avec mon code qui est situé dans vueBillet.php j'ai cette erreur là :

Notice: Undefined index: title in C:\wamp\www\blogblogblog\views\vueBillet.php on line 11
Notice: Undefined index: content in C:\wamp\www\blogblogblog\views\vueBillet.php on line 15

Le message d'erreur est clair, mais je ne comprend pas pourquoi.

Cordialement,