begin process at 2010 03 15 12:57:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

2 boucles imbriqués


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

2 boucles imbriqués

lundi 19 juin 2006 à 13:59:50 | 2 boucles imbriqués

mariobotta

bonjour à tous,
Voilà j'ai un petit soucis concernant 2 boucles imbriquées pour l'affichage d'un formulaire qui augmente ou diminue des champs(zone de texte avec titre).
La première boucle fonctionne mais mon problèmme se situe au niveau de la seconde où je n'arrive pas à augemnter et avoir plus de 2 champs.
Mon but étant de pouvoir déterminer au cour de mon formulaire des zones de texte (primaire)avec un nombre invariable de champs et des zone de texte (secondaire) dans chaque "primaire" avec égalment un nombre de champs invariable

j'e n'ai mis que l'essentiel et le code n'étant pas optimizé je suis conscient ce que je désir arriver à faire ç le fonctionnement de bas , le principe.

Merci d'avance si quelqu'un voit mon erreur et pourrais m'aider.

<?php
//init variable
if(isset($upload)==""){
$upload=0;
}

//recupération variable première boucle
if($_POST){
$upload=$_POST['upload'];
}

//recupération variable ajout ou surpprime champs dans 1 boucle
if($_POST['submit']=="plus"){
$upload++;
}elseif($_POST['submit']=="moins"){
 if($upload>0){
 $upload--;
 }
}

//formulaire
echo "<form name='form' action='#' enctype='multipart/form-data' method='POST'>";
echo "<input name='upload' type='hidden' value='".$upload."'>";
echo "<input type='submit' name='submit'  value='plus'>";
echo "<input type='submit' name='submit'  value='moins'><br>";
// boucle 1
$cpt=1;
for($i=0; $i<=$upload; $i++) {
echo 'titre primaire '.$cpt;
echo'<br><select name="textfield3" style="width:530px;">';
echo'<option>select</option>';
echo'</select><br>';
 $cpt2=1;
 echo $_POST[upload2][$i];
 if($upload2[$i]==""){
  $upload2[$i]=0;
 }

 if($_POST['submit2'][$i]=="plus2[$i]"){
  $upload2[$i]++;
 }elseif($_POST['submit2'][$i]=="moins2[$i]"){
   if($upload2[$i]>0){
   $upload2[$i]--;
   }
 }

// boucle 2
 for($e=0; $e<=($upload2[$i]); $e++) {
 echo "<input name='".$upload2[$i]."' type='text' value='".$upload2[$i]."'>";
  if($e==0){
  echo "<blockquote><input type='submit' name='submit2[$i]'  value='plus2[$e]'>";
  echo "<input type='submit' name='submit2[$i]'  value='moins2[$e]'></blockquote><br>";
  }
 echo '<blockquote>titre secondaire '.$cpt.'.'.$cpt2;
 echo'<br><select>';
 echo'<option>select</option>';
 echo'</select><br>';
 echo 'texte secondaire '.$cpt.'.'.$cpt2;
 echo '<br><textarea name="texte[$i][]">'.$_POST[texte][$i][$e].'</textarea></blockquote><br>';
 $cpt2++;
 }

echo'<br>';
$cpt++;
}
echo'</form>';
?>

mardi 20 juin 2006 à 11:24:40 | Re : 2 boucles imbriqués

mariobotta

Bonjour,

Je pense avoir résolu mon problème concernant la boucle mais maintenant j'ai un autre gros problème concernant la récupération des valeurs de mes champs.
Voici le formulaire qui tourne excepter la récupération des valeur des champs.
Si quelqu'un aurait une idée ce serait bien simpathique merci d'avance à tous.

<?php if($_POST['submit']){ ?>
<form name="form" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" enctype="multipart/form-data">
<?php }else{ ?>
<form name="form" action="#" method="post" enctype="multipart/form-data">
<?php } ?>
<?php
if(isset($upload)==""){
$upload=0;
}

if($_POST){
$upload=$_POST['upload'];
}

if($_POST['submit1']=="plus"){
$upload++;
}elseif($_POST['submit1']=="moins"){
 if($upload>0){
 $upload--;
 }
}
/* variables à modifier */
$taillemax = 512000; // taille max d'un fichier (multiple de 1024)
$filetype = "(jpeg|gif)"; // types de fichiers acceptés, séparés par |
$nametype = "(.jpeg|.jpg|.gif)"; // extensions correspondantes
echo "<input name='upload' type='hidden' value='".$upload."'>";
// boucle selon nombre de fichiers $upload
$cpt=1;
for($i=0; $i<=$upload; $i++) {
echo '<fieldset ><legend>Titre primaire '.$cpt.'&nbsp;';
echo "<input type='submit' name='submit1'  value='plus' class='bouton'>&nbsp;";
echo "<input type='submit' name='submit1'  value='moins' class='bouton'><br>";
echo'</legend>';
echo'<label>insérer titre primaire</label>';
echo'<select name="textfield3" style="width:530px;">';
for($d=0;$d<sizeof($tab);$d++)
{
 if( ($_POST['textfield3'])==$tab[$d] ){
 $selected='selected';
 }else{
 $selected='';
 }
echo'<option '.$selected.' value="'.$tab_id[$d].'">'.$tab[$d].'</option>';
}
echo'</select></fieldset >';

 $cpt2=1;
 if($_POST['upload2'][$i]==""){
  $upload2[$i]=0;
 }
 
 $upload2[$i]=$_POST['upload2'][$i]; 

 if( ($_POST['submit2'][$i])==("plus2".$i) ){
  $upload2[$i]++;
 }elseif( ($_POST['submit2'][$i])==("moins2".$i) ) {
   if($upload2[$i]>0){
   $upload2[$i]--;
   }
 }
 for($e=0; $e<=($upload2[$i]); $e++) {
 echo "<input type='hidden' name='upload2[$i]' value='".$upload2[$i]."'>";
 echo "<input type='hidden' name='i' value='".$i."'>";
 echo "<input type='hidden' name='e' value='".$e."'>";

 //echo'<blockquote>';
 echo '<br><fieldset ><legend>Titre secondaire '.$cpt.'.'.$cpt2.'&nbsp;';
 echo "<input type='submit' name='submit2[$i]' value='plus2".$i."' class='bouton'>&nbsp;";
 echo "<input type='submit' name='submit2[$i]'  value='moins2".$i."' class='bouton'><br>";
 echo'</legend>';
 echo'<select name="textfield3" style="width:530px;">';
 for($t=0;$t<sizeof($tab);$t++)
 {
 if( ($_POST['textfield3'])==$tab[$t] ){
 $selected='selected';
 }else{
 $selected='';
 }
 echo'<option '.$selected.' value="'.$tab_id[$t].'">'.$tab[$t].'</option>';
 }
 echo'</select>';
 echo'</fieldset ><br>';
 echo '<fieldset ><legend>Texte secondaire '.$cpt.'.'.$cpt2.'</legend>';
 echo '<br><textarea name="textfield[$i][]" cols="65" rows="10">'.$_POST['textfield'][$i][$e].'</textarea></fieldset ><br>';
 ?>
 <script language="javascript" type="text/javascript">
 function preview<?php echo $i;?><?php echo $e;?>(test)
 {
     document.getElementById('apercu[<?php echo $i;?>][<?php echo $e;?>]').src = test;
 }
 </script>
 <?php
 echo"<fieldset><legend>Aperçu de l'image</legend>";
 echo '<input type="file" name="lefichier[$i][]" size="5" onChange="preview'.$i.$e.'(this.value);">';
 echo "<input type='hidden' name='MAX_FILE_SIZE' value='$taillemax' >";
 ?>
 <script>
 if (navigator.appName=="Netscape")
 {
   document.write("nondisponible");
 }else{
 document.write('<img src="/img/admin/noapercu.gif" name="apercu[<?php echo $i;?>][<?php echo $e;?>]" height="32" width="32"/>');
 }
 </script>
 <?php
 echo'</fieldset>';
 //echo'</blockquote>';
 $cpt2++;
 }
echo'<br>';
$cpt++;
}
?>
<br/>
<div id="submit_fiche">
<input type="submit" name="submit" value="Envoyer" class="bouton" onclick="return verifier();">
<input TYPE="button" value="Aperçu" onClick="affichage();" class="bouton"/>
</div>
</form>
</div>
<?php
//problème :
echo count($_POST['upload']);
 for($i=0; $i<=count($_POST['upload']); $i++) {
 echo count($_POST['upload2'][$i]);
  for($e=0; $e<=(count($_POST['upload2'][$i])); $e++) {
  echo $_POST['textfield'][$i]; //????????????
  }
 }
?>



Cette discussion est classée dans : upload, champs, post, echo, upload2


Répondre à ce message

Sujets en rapport avec ce message

Formulaire...validation [ par CyberMen30 ] Bonjour à tous,J'ai un formulaire d'adhésion contenant les données suivante:Tarif, Regionale, recruteur, prenom, nom, numero, rue, casepostale, ville, Probleme upload fichier [ par sabou94 ] Bonjour,j'ai un probleme,  je dois debugguer une application et l'upload de fichier me pose problème! En effet, le fichier est enregistré sur le disk Probleme UPLOAD [ par prince4878 ] salut, quelqu'un peut me dire pourquoi ce CODE UPLOAD ne fonctione pas chez moi, en sachant que je l'ai testé sur une autre machine et ça a fonctionné comment les valeurs d'un champ input créé dynamiquement [ par Jarod1980 ] Bonjour,Je voudrais donner la possibilité à l'utilisateur d'insérer des champs input type text dans la page WEB à partir d'un bouton. Le problème, c'e Formulaire checkbox [ par flopad ] Bonjour tout le monde,j'ai un soucis avec un formulaire contenant des checkbox.Je ne parviens pas à récupérer le résultat de mes cases cochées, si qq' probleme pour recuperer les valeurs de mon menu déroulant [ par kensonlia ] bon voila j'ai un script php d'insertion dans une base je fais des tests  mais chaque fois elle m'affiche un message d'erreur que j'ai definie je vois Elseif qui n'est pas pris en compte ! [ par ripmaster ] Bonjour, je suis débutant et j'ai un petit problème...J'ai fait un formulaire avec 3 champs : nom, e-mail et le message dans une page html. Une fois q problème avec $_POST['recherche_id'] [ par Batman60 ] Bonjour je suis débutant en PHP j'ai un problème avec $_POST[]quand j'actionne sans avoir rempli le </fo pb avec $_POST [ par joebuz ] Salut,j'ai un formulaire avec 30 champs textes.Les champs sont appelés de la manière suivante :choix_1 ; choix_2 ; choix_3 ; ... ; choix_30Pour récupé session [ par pat65300 ] je m authenfie et sur cete page je verifie le mot de passe et le login.est ce sur cette page que doit créer ma session? si oui pouvez vous me dire si


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
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 : 0,421 sec (4)

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