IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Boucle "for"


Sujet :

Langage PHP

  1. #21
    jnore
    Invité(e)
    Par défaut
    Citation Envoyé par micetf Voir le message
    Non, non !
    J'ai bien dit l'attribut value
    afin que l'on sache quelle option a été choisie.
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <select name="localisation" id="localisation">
        <option vaue=""></option>
        <option value="hs">Hyper SDV</option>
        <option value="hr">Hyper Rve</option>
        <option value="ha">Hyper Admin</option>
        <option value="g">Galerie</option>
        <option value="p">Parking</option>
    </select>
    Comme ça,
    si l'option Galerie a été sélectionnée,
    lorsqu'on récupère le formulaire,
    on a $_POST['localisation'] égale à "g".

    Idem pour designation et semaine.
    Fred
    Ah ok, en fait je suis sur son prob de variable $_POST qu'il ne récupère pas!
    Il a plusieurs prob en même temps!

  2. #22
    Membre émérite Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Par défaut
    j'avais oublié d'indicés avec $i donc je les aient corrigés aprés avoir poster mon premier post
    Oui, mais si tu rajoutes un underscore dans la valeur de l'attribut name,
    il faut que celui-ci apparaisse dans l'index du $_POST qui réceptionne.

    Si tu as :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" name="numerotation_<?php echo $i;?>" id="numerotation">
    alors tu récupères $_POST['numerotation_7'] pour $i=7.
    mais sit tu veux récupérer $_POST['numerotation7'] pour $i=7,
    alors il faut écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" name="numerotation<?php echo $i;?>" id="numerotation">
    Tiens,
    si ta boucle for $i ressemble à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    for ($i=0;$i<=200;$i++) {
    ?>
    	<select name="designation<?php echo $i;?>" id="designation">
    		<option value=""></option>
    		<option value="ext">Extincteur</option>
    		<option value="pcf">P.C.F</option>
    		<option value="ids">I.D.S</option>
    		<option value="ria">R.I.A</option>
    	</select>
     
    	N 
    	<input type="radio" name="etat<?php echo $i;?>" value="neuf" title="neuf"/>
    	U 
    	<input type="radio" name="etat<?php echo $i;?>" value="usees" title="usées"/>
    	H.S 
    	<input type="radio" name="etat<?php echo $i;?>" value="hs" title="hors service"/>
    	Ntre 
    	<input type="radio" name="etat<?php echo $i;?>" value="neutre" checked="checked" title="neutre"/>
     
    	<select name="localisation<?php echo $i;?>" id="localisation">
    		<option value=""></option>
    		<option value="hsvd">Hyper SDV</option>
    		<option value="hrye">Hyper Rve</option>
    		<option value="hadmin">Hyper Admin</option>
    		<option value="gal">Galerie</option>
    		<option value="park">Parking</option>
    	</select>
     
    	<input type="text" name="numerotation<?php echo $i;?>" id="numerotation">
     
    	<input type="text" name="commentaires<?php echo $i;?>" id="commentaires">
     
    	L 
    	<input type="radio" name="observation<?php echo $i;?>" value="levees" title="levées" id="observation"/>
    	N.L 
    	<input type="radio" name="observation<?php echo $i;?>" value="non_levees" title="non levées"/>
    	Ntre 
    	<input type="radio" name="observation<?php echo $i;?>" value="neutre" checked="checked" title="neutre"/><br/>
    <?php
    }
    alors ta boucle for $j devrait ressembler à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    if (isset($_POST['enregistrer'])) {
    	connectbasecarrefour();
    	for ($j=0;$j<=200;$j++){
    		$designation=$_POST['designation'.$j];
    		$etat=$_POST['etat'.$j];
    		$localisation=$_POST['localisation'.$j];
    		$numerotation=$_POST['numerotation'.$j];
    		$commentaires=$_POST['commentaires'.$j];
    		$observation=$_POST['observation'.$j];
     
    		$today = date("y-m-d");
    		$sql = 'INSERT INTO rondeIncendie
    			(designation,etat,localisation,numerotation,comentaires,observation,today) 
    			VALUES(
    				"'.$designation.'",
    				"'.$etat.'",
    				"'.$localisation.'",
    				"'.$numerotation.'",
    				"'.$commentaires.'",
    				"'.$observation.'",
    				"'.$today.'")';
    	}
    	mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
    }
    mysql_close();
    Fred

  3. #23
    Membre confirmé Avatar de PUARAI
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 191
    Par défaut
    Oh la la franchement les amis que du bonheur de vous voir vous plonger dans mon probleme,

    je vais essayer tous ça, et de suite je vous met au courant merci encore franchement merci a plus tard pour la suite ...

  4. #24
    Membre confirmé Avatar de PUARAI
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 191
    Par défaut
    Citation Envoyé par jnore Voir le message
    salut,

    va_dump t'a renvoyé cette ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    array(9) { ["jour"]=> string(0) "" ["designation_"]=> string(0) "" ["etat_"]=> string(4) "neuf" ["localisation_"]=> string(0) "" ["numerotation_"]=> string(0) "" ["commentaires_"]=> string(0) "" ["observation_"]=> string(6) "levees" ["semaine_"]=> string(0) "" ["enregistrer"]=> string(11) "enregistrer" }
    Cette fonction ne fait qu'afficher le contenu du tableau $_POST.
    Comme tu vois ici, il n'a aucune de tes variables que tu essaies de récupérer de ton formulaire. Par ex, tu n'as pas localisation0.

    Regarde dans ton formulaire d'envoi afin de eégler ton problème. Il faut que tu aies des balises <input/> qui ont l'attribut name="localisation0", 1,2,3......

    merci jnore mais c'est pour cela que je l'ai monter dans une boucle for pour l'incrémentation mais voila quoi toujours le même soucis je suis entrain de voir a côté si je trouve la solution je vous mettrais au courant pour que d'autre s'en serve.

  5. #25
    Membre confirmé Avatar de PUARAI
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 191
    Par défaut Bonsoir a tous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    <?php
    include("fonctions.php");
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    		<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
    		<head>
    			<title>Menu</title>
    			<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
    			<link rel="stylesheet" media="screen" type="text/css" title="Design" href="./css/ronde_incendie.css"/>
    		</head>
    				<body>
    				<div id="logo">
    					<img src="./logo/logo.jpg" alt="carrefour"/>
    					</div>
     
    					<h1>Ronde Incendie</h1>
     
    					<div id="liens">
    						<p>
    							<a href="Accueil.php" style="border:5px outset white;font-size:12px;"">Accueil</a>
    							<a href="menu.php" style="border:5px outset white;font-size:12px;"">Menu</a>
    							<a href="ronde_Sprinkler.php" style="border:5px outset white;font-size:12px;"">Ronde Sprinkler</a>
    							<a href="controle_demarque.php" style="border:5px outset white;font-size:12px;"">Contrôle démarque</a>
    							<a href="controle_sortie.php" style="border:5px outset white;font-size:12px;"">Contrôle sortie</a>
    							<a href="Lancer_Facturation.php" style="border:5px outset white;font-size:12px;"">Facturation</a>
    						</p>
    					</div>
     
    					<div id="corp">
     
    							<div id="description">
     
    									<strong>Désignation</strong>
    									<strong>Etat</strong>
    									<strong>Localisation</strong>
    									<strong>Numérotation</strong>
    									<strong>Commentaires</strong>
    									<strong>Obsérvation</strong>
     
    							</div>
     
    						<div id="sous_menu">
     
    							<!--DEBUT BALISE FORM-->					
     
    							<form method="post">	
     
    							<!--DEBUT BALISE PHP-->
     
    <?php
    for ($i=1;$i<=300;$i++) 
    {
    ?>		
     
    							<!--BLOC DESIGNATION TYPE SELECT-->
     
    						<p>
     
    						<?php echo $i;?>-<select name="designation<?php echo $i;?>" id="designation">
    							<option selected="selected">Désignation</option>
    							<option value="EXT">Extincteur</option>
    							<option value="PCF">P.C.F</option>
    							<option value="IDS">I.D.S</option>
    							<option value="RIA">R.I.A</option>
    							<option value="BAES">BAES</option>
    							<option value="SSI">S.S.I</option>
    						</select>
     
    						<!--BLOC ETAT TYPE SELECT-->
     
    						<select name="etat<?php echo $i;?>" id="etat">
    							<option selected="selected">Etat</option>
    							<option value="neuf">Neuf</option>
    							<option value="usee">Usée</option>
    							<option value="hs">Hors service</option>
    							<option value="neutre">Neutre</option>
    						</select>
     
    						<!--BLOC LOCALISATION TYPE SELECT-->
     
    						<select name="localisation<?php echo $i;?>" id="localisation">
    							<option selected="selected">Localisation</option>
    							<option value="PC">PC</option>
    							<option value="HSV">Hyper SDV</option>
    							<option value="HR">Hyper Rve</option>
    							<option value="HA">Hyper Admin</option>
    							<option value="GAL">Galerie</option>
    							<option value="PAR">Parking</option>
    						</select>
     
    						<!--BLOC NUMEROTATION TYPE TEXT-->
     
    						<input type="text" name="numerotation<?php echo $i;?>" id="numerotation" value="Numérotation"/>
     
    						<!--BLOC COMMENTAIRES TYPE TEXT-->
     
    						<input type="text" name="commentaires<?php echo $i;?>" id="commentaires" value="Commentaires"/>
     
    						<!--BLOC OBSERVATION TYPE SELECT-->
     
    						<select name="observation<?php echo $i;?>" id="observation">
    							<option selected="selected">Obsérvation</option>
    							<option value="lev">Levée</option>
    							<option value="nlev">Non levée</option>
    							<option value="neutre">Neutre</option>
    						</select>
     
    						</p>	
     
    <?php
    }
    ?>			
     
    					</div>
     
    						<!--BLOC submit-->
     
     
    						<br/><input id="enregistrer" type="submit" name="enregistrer" value="enregistrer le formulaire"/>			
     
     
    					<!--FIN BALISE FORM-->			
    					</form>			
     
     
    					<!--DEBUT BALISE PHP-->	
     
    <?php
    if (isset($_POST['enregistrer'])) 
    {
     
    		/*  BDD_sql  */
     
    		connectbasecarrefour();
     
    		for ($j=1;$j<=300;$j++)
    		{
     
    		/*var_dump($_POST); pour tester les rapports d'erreur*/
     
     
     
    		$designation=$_POST['designation'.$j];
    		$etat=$_POST['etat'.$j];
    		$localisation=$_POST['localisation'.$j];
    		$numerotation=$_POST['numerotation'.$j];
    		$commentaires=$_POST['commentaires'.$j];
    		$observation=$_POST['observation'.$j];						
    		$daterondeincendie = date("y-m-d");
     
    		$sql = 'INSERT INTO rondeincendie VALUES("","'.$designation.'","'.$etat.'","'.$localisation.'","'.$numerotation.'","'.$commentaires.'","'.$observation.'","'.$daterondeincendie.'")';
     
    		mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
    		}
    		mysql_close();
     
    }
    ?>									
     
     
    						</div>
     
    					</div>
    				</body>
    		</html>
    Voici le code que j'ai qui n'a pas changer grand chose, mais maintenant il fonctionne trés bien pour ce qui veulent voir pour qui ça pouras aider bonne soirée a tous.

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo