begin process at 2012 05 28 16:49:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Arrêter une structure conditionnelle lorsqu'une condition est réalisée


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Arrêter une structure conditionnelle lorsqu'une condition est réalisée

jeudi 17 juin 2010 à 13:50:41 | Arrêter une structure conditionnelle lorsqu'une condition est réalisée

monoski

Voici mon code :
Code PHP :
if ($fetch3['type'] == main or $main == no) 
{
if ($affi3['main'] != no)
	{
if ($affi3['slot1']== no)
			{
		mysql_query("UPDATE elfik_user SET slot1='$mainremp' WHERE username='$pseudo'") or die(mysql_error());
			}
		
		elseif($affi3['slot2']== no)
			{
			mysql_query("UPDATE elfik_user SET slot2='$mainremp' WHERE username='$pseudo'") or die(mysql_error());
			}
		
		elseif($affi3['slot3']== no)
			{
			mysql_query("UPDATE elfik_user SET slot3='$mainremp' WHERE username='$pseudo'") or die(mysql_error());
			}
		elseif($affi3['slot4']== no)
			{
			mysql_query("UPDATE elfik_user SET slot4='$mainremp' WHERE username='$pseudo'") or die(mysql_error());
			}
		elseif($affi3['slot5']== no)
			{
			mysql_query("UPDATE elfik_user SET slot5='$mainremp' WHERE username='$pseudo'") or die(mysql_error());
			}
		elseif($affi3['slot6']== no)
			{
			mysql_query("UPDATE elfik_user SET slot6='$mainremp' WHERE username='$pseudo'") or die(mysql_error());
			}
		elseif($affi3['slot7']== no)
			{
			mysql_query("UPDATE elfik_user SET slot7='$mainremp' WHERE username='$pseudo'") or die(mysql_error());
			}
		elseif($affi3['slot8']== no)
			{
			mysql_query("UPDATE elfik_user SET slot8='$mainremp' WHERE username='$pseudo'") or die(mysql_error());
			}
		elseif($affi3['slot9']== no)
			{
			mysql_query("UPDATE elfik_user SET slot9='$mainremp' WHERE username='$pseudo'") or die(mysql_error());
			}
		elseif($affi3['slot10']== no)
			{
			mysql_query("UPDATE elfik_user SET slot10='$mainremp' WHERE username='$pseudo'") or die(mysql_error());
			}
	}
mysql_query("UPDATE elfik_user SET main='$main' WHERE username='$pseudo'") or die(mysql_error());
}



Je pensais qu'en utilisant elseif comme ça, lorsque la condition serait remplie, les autres boucles cesseraient d'être testée. Mais ce n'est pas le cas, or je recherche à arrêter ma structure conditionnelle dès lors qu'une des conditions est remplie.

Quelque chose m'échappe, qu'est-ce que c'est ?

Merci pour votre lecture !
samedi 19 juin 2010 à 04:06:10 | Re : Arrêter une structure conditionnelle lorsqu'une condition est réalisée

phpAnonyme

Réponse acceptée !
Salut,

le mieux c'est d'utiliser break, mais dans ce cas faut repenser le code :


if ($fetch3['type'] == main or $main == no)
{
if ($affi3['main'] != no)
{

foreach($affi3 as $items => $val)
{
if($items!='main' && $val=='no')
{
mysql_query("UPDATE elfik_user SET ".$items."='$mainremp' WHERE username='$pseudo'") or die(mysql_error());
break;
}
}

}
mysql_query("UPDATE elfik_user SET main='$main' WHERE username='$pseudo'") or die(mysql_error());

}




______________________________________________________________________
samedi 19 juin 2010 à 04:09:19 | Re : Arrêter une structure conditionnelle lorsqu'une condition est réalisée

phpAnonyme

PS: il y a d guillemets simples dans ton code dans la requête sql : '$mainremp', cela risque de poser pb !


______________________________________________________________________
samedi 19 juin 2010 à 04:30:52 | Re : Arrêter une structure conditionnelle lorsqu'une condition est réalisée

monoski

Mais en théorie ce que j'ai fais avec les elseif ça devrait pas arrêter l'enchainement dès lors qu'une des conditions est remplie ?

Parce que si oui mon bug vient d'ailleurs...

Hum je suis pas un habitué de la programmation, j'avais jamais vu l'utilisation de foreach et de break, je sais que je demande beaucoup, mais pourrais tu me détailler ton code ?

C'est très gentil à toi en tout cas :-)
samedi 19 juin 2010 à 05:04:16 | Re : Arrêter une structure conditionnelle lorsqu'une condition est réalisée

phpAnonyme

Tu a écrit

Mais en théorie ce que j'ai fais avec les elseif ça devrait pas arrêter l'enchainement dès lors qu'une des conditions est remplie ?

Non monsieur ! En gros, chaque condition sera testée : si la condition est remplie alors on entre dans celle-ci, sinon le script passe au suivant et teste à nouveau la nouvelle condition. Ceci s'applique également pour : if-else, switch...
Pour interrompre une condition, on peut utiliser : break(dans les structures for, foreach, while, do-while ou switch), exit ou die(MAIS arrête carrément le script en cours), return(dans le cadre des fonctions).


Foreach parcours un tableau, on peut dire que c'est la boucle faite pour les tableaux(Lien : utilisation de foreach), ton code utilise les tableaux dont $affi3, et ce qu'on observe c'est qu'il y a des éléments récurrents(dans les if-elseif et dans mysql_query() qui utilise les champs de même clé que celle utilisé par le tableau $affi3).

En gros c'est la même chose écrite avec les elseif MAIS EN BEAUCOUP plus simple !

Le script parcours ton tableau tout seul comme un grand, mais agira uniquement si la condition if dans celle-ci est remplie, c-a-d, quand une valeur du tableau sera égale à 'no'. Si la condition est remplie, le script exécute la requête et sortira du foreach par l'intermédiare de break et continue son chemin...

Désolé, je peux pas expliqué plus simplement !

______________________________________________________________________
samedi 19 juin 2010 à 13:24:09 | Re : Arrêter une structure conditionnelle lorsqu'une condition est réalisée

monoski


Merci c'est très complet. Je finis de coder la partie Ajax de mon site et je me remet à ce pan de mon interface.

En tout cas 1000 merci pour tes précisions.

Je te souhaite une excellente journée ! J'ai presque pas dormi perso, toi tu dois être entrain de le faire :p
lundi 28 juin 2010 à 19:46:26 | Re : Arrêter une structure conditionnelle lorsqu'une condition est réalisée

monoski

Tiens mais j'y pense tu fais quoi de mes slot1, slot2 etc... dans ton code ?
samedi 3 juillet 2010 à 03:47:19 | Re : Arrêter une structure conditionnelle lorsqu'une condition est réalisée

phpAnonyme

Si tu as définit le tableau $affi3 en amont, ce qui semble avoir été fait vu ton code d'origine, et si tu as cliqué le lien qui t'explique foreach, et si tu as compris le fonctionnement de foreach, et si tu as testé le code...tu ne devrais même pas me poser cette question


______________________________________________________________________
dimanche 4 juillet 2010 à 18:24:14 | Re : Arrêter une structure conditionnelle lorsqu'une condition est réalisée

monoski

Ouaip je vais revoir tout ça, désolé, juste que j'avais cru comprendre mais qu'au final ça n'a pas fonctionné.

Merci de ton aide je valide ! :p


Cette discussion est classée dans : mysql, query, update, affi3, elfik


Répondre à ce message

Sujets en rapport avec ce message

Probleme d'update checkbox [ par Alpha911 ] Bonjour,j'ai une base de donnée avec le champ Compte_FTP de type TINYINT j'ai réalisé le fichier php mise a jour permettant l'update des données quand Multiplication dans une requête MySQL. Problème [ par arbilus ] Bonjour, je viens d'obtenir un script sympas pour avoir un jeux de poker. Seulement je me trouve face à un problème, en prenant large voici le code qu Erreur de code [ par elriser ] je débute et j'ai un souci avec ce bout de code:$query = "SELECT * FROM infos WHERE etat-cmd=nc ORDER BY 'num-cmd'";$result = mysql_query($query, $lin Vérification champs formulaire [ par ljuboja78 ] Bonjour ,J'ai créé un forumaire php pour insérer des enregistrements.Je souhaiterais vérifier les 2 champs prenom et message et afficher un echo si le Formulaire avec un nombre de champs variable [ par nlsitdeo ] Bonjour à tous, J'ai un formulaire de commande, les produits disponibles sont extraits d'une table MySQL produits et ne sont pas toujours les mêmes ( Php [ par Misskamar ] Bjr, SVP j'ai un problème de fonction de mysql, plus exactement lorsque j'écris mon code dans la partie php avec les fonctions MySQL toujours il y a 2 requêtes SQL dans une autre requête. [ par gnut ] Bonjour, Voilà j'ai fait un script qui me permet de passer des données XML vers une Table (annonces) de ma BDD. Celui-ci fonctionnait très bien mais j HELP probléme affichage de données [ par vikingdeath ] Bonjour, je débute en php et j'ai un problème que j'arrive pas a régler. j'ai une bases de données avec 2 tables qui sont reliée la 1ére contient tou Mysql update automatique [ par itachi2255 ] Bonjour a tous, je suis en train de faire un petit jeu de strategie PHP Mysql et le problème et le suivant: j'ai dans ma base une table joueur qui a d


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,555 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales