Problème boucle Foreach

Fermé
Zouritte - 18 févr. 2010 à 17:23
Mopra-L Messages postés 146 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 23 mai 2012 - 20 févr. 2010 à 21:06
Bonjour à tous,

Alors voila je programme mon site et je decouvre la boucle foreach qui me semble pas mal pour ce que j'ai a faire, j'ai juste un peut de mal à l'éxécuter.
j'ai une requête qui récupère dans ma base le niveau d'autorisation de l'utilisateur en fonction de son pseudo, il peut y avoir plusieurs niveaux d'autorisation pour un seul utilisateur, d'ou le foreach. (c'est la variable $row_select_auth_sact['auth_sact'], et pour chaque niveau d'autorisation je voudrai éxécuter 2 requêtes qui me permettrons d'afficher les informations "personnalisées":

voici mon code:

foreach($row_select_auth_sact['ath_sact'] as $sact)
	   	   
	   {
		  mysql_select_db($database_jacpal_db, $jacpal_db);
		  $query_event_on = sprintf("SELECT * FROM evenements WHERE eve_sact = '$sact' OR eve_visibledt = 'visible'  ORDER BY eve_date ASC");
		  $event_on = mysql_query($query_event_on, $jacpal_db) or die(mysql_error());
		  $row_event_on = mysql_fetch_assoc($event_on);
		  $totalRows_event_on = mysql_num_rows($event_on);
		  //mysql_free_result($event_on);
		  
		  //Requete de la table evenements, selectionnant les evenement archivés.
		  mysql_select_db($database_jacpal_db, $jacpal_db);
		  $query_event_off = "SELECT * FROM evenements WHERE eve_expiration < CURDATE()+0 AND eve_visibledt = 'visible' ORDER BY eve_date ASC";
		  $event_off = mysql_query($query_event_off, $jacpal_db) or die(mysql_error());
		  $row_event_off = mysql_fetch_assoc($event_off);
		  $totalRows_event_off = mysql_num_rows($event_off);
		  //mysql_free_result($event_off);
	   }


PS: je travail sur dreamweaver donc les requêtes sont un peut chargées mais bon, au moin ça marche sans encombres.

Merci par avance pour votre aide.

Timothée

5 réponses

zouritte Messages postés 13 Date d'inscription lundi 4 mai 2009 Statut Membre Dernière intervention 9 janvier 2012 1
18 févr. 2010 à 18:11
Pas de réponses ? personne ne peut me dire ou est mon problème?
0
Mopra-L Messages postés 146 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 23 mai 2012 6
18 févr. 2010 à 18:15
Salut,

Quel problème rencontre tu exactement avec ce code ?

Message d'erreur ? Ca n'affiche pas ce que tu veux (mais donc, ca affiche quoi ?)

Un peu de précision, si possible, merci :)
0
zouritte Messages postés 13 Date d'inscription lundi 4 mai 2009 Statut Membre Dernière intervention 9 janvier 2012 1
18 févr. 2010 à 18:43
Je n'ai pas l'affichage que souhaiterai, j'ai tester ma requête sans la boucle, et elle marche. je pense que le problème viens de mon utilisation de la boucle.
0
zouritte Messages postés 13 Date d'inscription lundi 4 mai 2009 Statut Membre Dernière intervention 9 janvier 2012 1
20 févr. 2010 à 13:02
Salut, encore le même problème, j'ai essayé en retirant les { }, mais il ignore tout simplement ma boucle.

le fonctionnement de la boucle est il bien le suivant?:
foreach( "variable array" as "une nouvelle variable eg. $var")
{
ma requête qui vas se répéter autant de fois que j'ai de valeur différente dans mon array en utilisant "$var"

}
Merci
0

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

Posez votre question
Mopra-L Messages postés 146 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 23 mai 2012 6
20 févr. 2010 à 21:06
Bonsoir,

Concernant la boucle foreach, tu n'as pas le choix de mettre les accolades (sauf cas exceptionnel, mais c'est toujours mieux de les mettre)

Pour son utilisation, c'est comme ceci :

foreach( tableau_contenant_des lignes as nom_de_la_ligne dans la boucle)
{
On repete la boucle selon le nombre de ligne du tableau
}

Est-ce bien ca que tu demandais ?
0