Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/02/2012, 14h11   #1
Invité régulier
 
Homme
etudiant
Inscription : décembre 2011
Messages : 54
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : etudiant

Informations forums :
Inscription : décembre 2011
Messages : 54
Points : 6
Points : 6
Par défaut Saisie liste déroulante tableau

Bonjour à tous, je vous explique mon problème:

J'ai créer un tableau statique, puis j'y ai ajouté 2 colonnes qui permettent la saisie de données (avec des listes déroulantes).
Maintenant j'ai donc un formulaire tableau

Code :
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
<form action="a_facturer.php">
<table class="Tabledonnees">
  <thead>
    <tr>
      <th>Numéro contrat</th>
      <th>Nom locataire</th>   
      <th>Date mandat</th>
      <th>A la charge</th>
      <th>Statut matériel</th>
      <th>Statut mandat</th>
      <th>Type mandat</th>
      <th>Facture 1</th>
      <th>Montant 1</th>
      <th>Facture 2</th>
      <th>Montant 2</th>
      <th></th>               
    </tr>
  </thead>
<?php
  $altenative = $numligne = 0 ;
  $vide = "vrai"; 
  $c_ligne = $c_ligne2="" ;
  ?>
 
  <?
  while ($ligne = mysql_fetch_array($exec)) :
?>
    <tr valign=top>
      <!--<td><?php echo ($numCon = getNumCon($ligne["NUM_DOS"])) ?></td>-->
      <td>
        <a href="<?php echo 'detail_dossier.php?NUM_DOS='.$ligne["NUM_DOS"].'&onglet=6&NUM_CON='.$numCon ?>">
          <?php echo $numCon ?>
        </a>
      </td>
      <td><?php echo $ligne["DEN_LOC"] ?></td>
      <td><?php echo datemysql2francais($ligne["DATE_DOS"]) ?></td>
      <td><?php echo $ligne["DEN_CLI"] ?></td>
      <td><?php echo htmlentities($ligne["LIB_STA"]) ?></td>
      <td><?php echo htmlentities($ligne["LIBE_STA_DOS"]) ?></td>
      <td><?php echo $ligne["LIB_TYP_MANDAT"] ?></td>
      <td><?php echo select_facture($ligne["NUM_FACT"]) //fonction qui fait une liste déroulante avec les factures?></td>
      <td><?php echo $ligne["MT_FACT"] ?></td>
      <td><?php echo select_facture($ligne["NUM_FACT2"]) ?></td>
      <td><?php echo $ligne["MT_FACT2"] ?></td>
      <td>
        <a href="rapport_activite.php?NUM_DOS=<?php echo $ligne["NUM_DOS"] ?>" target="_blank">
          <img src="img\b_print.png" border="0" width="16" height="16" alt="Rapport d'activité">
        </a>
      </td>   
    </tr>   
<?php endwhile; ?>   
</table>
 
<p style="text-align: center;"><input name="modi" type="submit" class="button" value="Enregistrer les modifications"></p>
</form>

Je renvoie les données sur la même page et les traite de cette façon:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
if(isset($_REQUEST["modi"]))
{
 
//echo "test";
var_dump($_REQUEST["NUM_FACT"],$_REQUEST["NUM_FACT2"]);
$sqlUP="update locataire set NUM_FACT='".$_REQUEST["NUM_FACT"]."' ,
NUM_FACT2='".$_REQUEST["NUM_FACT2"]."'
where NUM_DOS='".$_REQUEST["NUM_DOS"]."'
";
$execUP=mysql_query($sqlUP) or die(mysql_error());
 
}
?>

Déjà j'ai pluieurs problèmes: $_REQUEST["NUM_FACT"] prends en fait la valeur de la dernière liste déroulante qui devrait logiquement être $_REQUEST["NUM_FACT2"] qui du coup n'est pas défini.

Ensuite je voudrais mettre à jour le champ pour un numéro de dossier (ce que j'ai mis dans la requête), mais le $_REQUEST["NUM_DOS"] n'est pas défini non plus

Merci de m'aider
MenphisTimrid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 09h01   #2
Membre du Club
 
Homme
Développeur Web
Inscription : décembre 2011
Messages : 32
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Orne (Basse Normandie)

Informations professionnelles :
Activité : Développeur Web
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : décembre 2011
Messages : 32
Points : 53
Points : 53
Bonjour,

Citation:
Envoyé par MenphisTimrid Voir le message
Code :
<form action="a_facturer.php">
Il faudrait ajouter l'attribut obligatoire method je pense

Citation:
Envoyé par MenphisTimrid Voir le message
$_REQUEST["NUM_FACT"] prends en fait la valeur de la dernière liste déroulante qui devrait logiquement être $_REQUEST["NUM_FACT2"] qui du coup n'est pas défini.
Il nous faudrait le code de ta fonction select_facture().
osore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 09h17   #3
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 786
Points : 35 786
Citation:
Envoyé par osore
Il faudrait ajouter l'attribut obligatoire method je pense
L'attribut method n'est pas obligatoire et vaut GET par défaut : The FORM element.
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 09h21   #4
Invité régulier
 
Homme
etudiant
Inscription : décembre 2011
Messages : 54
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : etudiant

Informations forums :
Inscription : décembre 2011
Messages : 54
Points : 6
Points : 6
Merci pour ton passage

effectivement j'avais fait quelques erreurs assez évitables mai j'ai corrigé certaines erreurs hier, voici mon nouveau code:

Code :
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
<form action="a_facturer.php" method="post">
<table class="Tabledonnees">
  <thead>
    <tr>
      <th>Numéro contrat</th>
      <th>Nom locataire</th>	
      <th>Date mandat</th>
      <th>A la charge</th>
      <th>Statut matériel</th>
      <th>Statut mandat</th>
      <th>Type mandat</th>
      <th>Facture 1</th>
      <th>Montant 1</th>
      <th>Facture 2</th>
      <th>Montant 2</th>
      <th></th>					
    </tr>
  </thead>
<?php
  $altenative = $numligne = 0 ;
  $vide = "vrai"; 
  $c_ligne = $c_ligne2="" ;
  while ($ligne = mysql_fetch_array($exec)) :
 
 
?> 
    <tr valign=top>
      <!--<td><?php echo ($numCon = getNumCon($ligne["NUM_DOS"])) ?></td>-->
      <td>
        <a href="<?php echo 'detail_dossier.php?NUM_DOS='.$ligne["NUM_DOS"].'&onglet=6&NUM_CON='.$numCon ?>">
          <?php echo $numCon ?>
        </a>
      </td>
      <td><?php echo $ligne["DEN_LOC"] ?></td>
      <td><?php echo datemysql2francais($ligne["DATE_DOS"]) ?></td>
      <td><?php echo $ligne["DEN_CLI"] ?></td>
      <td><?php echo htmlentities($ligne["LIB_STA"]) ?></td>
      <td><?php echo htmlentities($ligne["LIBE_STA_DOS"]) ?></td>
      <td><?php echo $ligne["LIB_TYP_MANDAT"] ?></td>
      <td><?php echo select_facture($ligne["NUM_FACT"]) //fonction qui fait une liste déroulante avec les factures?></td>
      <td><?php echo $ligne["MT_FACT"] ?></td>
      <td><?php echo select_facture2($ligne["NUM_FACT2"]) ?></td>
      <td><?php echo $ligne["MT_FACT2"] ?></td>
      <td>
        <a href="rapport_activite.php?NUM_DOS=<?php echo $ligne["NUM_DOS"] ?>" target="_blank">
          <img src="img\b_print.png" border="0" width="16" height="16" alt="Rapport d'activité">
        </a>
      </td>	
    </tr>	
 
<?php  endwhile; ?>   
</table>
 
 
<input type="hidden" name="NUM_DOS" value=<?$ligne["NUM_DOS"]?> >
<p style="text-align: center;"><input name="modi" type="submit" class="button" value="Enregistrer les modifications"></p>
</form>
j'avais oublié de rajouter le 2 pour la fonction select_facture() et j'ai fait passé le num_dos en champ caché.
Maintenant mon problème est qu'il y à un numéro de dossier par ligne du tableau et j'aimerais effectué toutes les modifications qui ont été faites.

Merci pour ton aide.

PS: j'avais fait un pour avec un indice $i mais mes valeurs étaient indéfinies
MenphisTimrid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 09h47   #5
Membre du Club
 
Homme
Développeur Web
Inscription : décembre 2011
Messages : 32
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Orne (Basse Normandie)

Informations professionnelles :
Activité : Développeur Web
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : décembre 2011
Messages : 32
Points : 53
Points : 53
Citation:
Envoyé par Bovino Voir le message
L'attribut method n'est pas obligatoire et vaut GET par défaut : The FORM element.
En effet autant pour moi

Citation:
Envoyé par MenphisTimrid
Maintenant mon problème est qu'il y à un numéro de dossier par ligne du tableau et j'aimerais effectué toutes les modifications qui ont été faites. [...] j'avais fait un pour avec un indice $i mais mes valeurs étaient indéfinies.
C'est une solution qui peut marcher mais il faut bien que ta fonction select_facture renvoie un nom différent (avec le même indice que ton champ caché par exemple) et que tu créé un champ caché par ligne :

Code php :
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
<?php
  $altenative = $numligne = 0 ;
  $vide = "vrai"; 
  $c_ligne = $c_ligne2="" ;
  $i=0;
  while ($ligne = mysql_fetch_array($exec)) :
?> 
    <tr valign=top>
      <!--<td><?php echo ($numCon = getNumCon($ligne["NUM_DOS"])) ?></td>-->
      <td>
        <a href="<?php echo 'detail_dossier.php?NUM_DOS='.$ligne["NUM_DOS"].'&onglet=6&NUM_CON='.$numCon ?>">
          <?php echo $numCon ?>
        </a>
      </td>
      <td><?php echo $ligne["DEN_LOC"] ?></td>
      <td><?php echo datemysql2francais($ligne["DATE_DOS"]) ?></td>
      <td><?php echo $ligne["DEN_CLI"] ?></td>
      <td><?php echo htmlentities($ligne["LIB_STA"]) ?></td>
      <td><?php echo htmlentities($ligne["LIBE_STA_DOS"]) ?></td>
      <td><?php echo $ligne["LIB_TYP_MANDAT"] ?></td>
      <td><?php echo select_facture($ligne["NUM_FACT"], $i) //fonction qui fait une liste déroulante avec les factures?></td>
      <td><?php echo $ligne["MT_FACT"] ?></td>
      <td><?php echo select_facture2($ligne["NUM_FACT2"], $i) ?></td>
      <td><?php echo $ligne["MT_FACT2"] ?></td>
      <td>
        <a href="rapport_activite.php?NUM_DOS=<?php echo $ligne["NUM_DOS"] ?>" target="_blank">
          <img src="img\b_print.png" border="0" width="16" height="16" alt="Rapport d'activité">
        </a>
      </td>	
	  <input type="hidden" name="NUM_DOS_<?php echo $i; ?>" value=<?$ligne["NUM_DOS"]?> >
    </tr>	
<?
$i++;
endwhile; ?>
osore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 09h58   #6
Invité régulier
 
Homme
etudiant
Inscription : décembre 2011
Messages : 54
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : etudiant

Informations forums :
Inscription : décembre 2011
Messages : 54
Points : 6
Points : 6
Merci encore.

Voici le code de mes 2 fonctions (très similaire ce qui est logique)

Code :
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
function select_facture($NUM_FACT=-1) { 
    // statut mandat de statut dossier 
	$select = "select NUM_FACT    from facture order by NUM_FACT asc";	
	$result = mysql_query($select) or die (mysql_error());	
	echo "<SELECT name=\"NUM_FACT\" " ;   	
	echo "<option value=\"\" selected> </OPTION>";		
	while ($ligne=mysql_fetch_array($result))	
	{	      
        if ($NUM_FACT== $ligne["NUM_FACT"])	      {
	    	echo "<option value=\"".$ligne["NUM_FACT"]."\" selected>".$ligne["NUM_FACT"]."</OPTION>";	      
		}	      
		else	      {
		    echo "<option value=\"".$ligne["NUM_FACT"]."\">".$ligne["NUM_FACT"]."</OPTION>";	      
		}	
	}	
	echo "</SELECT>";
}
 
function select_facture2($NUM_FACT=-1) { 
    // statut mandat de statut dossier 
	$select = "select NUM_FACT from facture order by NUM_FACT asc";	
	$result = mysql_query($select) or die (mysql_error());	
	echo "<SELECT name=\"NUM_FACT2\">";   	
	echo "<option value=\"\" selected> </OPTION>";		
	while ($ligne=mysql_fetch_array($result))	
	{	      
        if ($NUM_FACT== $ligne["NUM_FACT"]){
	    	echo "<option value=\"".$ligne["NUM_FACT"]."\" selected>".$ligne["NUM_FACT"]."</OPTION>";	      
		}	      
		else	      {
		    echo "<option value=\"".$ligne["NUM_FACT"]."\">".$ligne["NUM_FACT"]."</OPTION>";	      
		}	
	}	
	echo "</SELECT>";
}

Pour ta solution proposé effectivement ça se rapproche de ce que j'avais fait mais comment dois-je gérer le traitement, avec les indice je me suis un peu perdu
MenphisTimrid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 10h55   #7
Membre du Club
 
Homme
Développeur Web
Inscription : décembre 2011
Messages : 32
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Orne (Basse Normandie)

Informations professionnelles :
Activité : Développeur Web
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : décembre 2011
Messages : 32
Points : 53
Points : 53
Citation:
Envoyé par MenphisTimrid Voir le message
Pour ta solution proposé effectivement ça se rapproche de ce que j'avais fait mais comment dois-je gérer le traitement, avec les indice je me suis un peu perdu
Et bien dans un preimier temps il va falloir que tu modifie tes fonctions select_facture() car elles renvoie toujours le même nom :
Code php :
1
2
3
4
5
function select_facture($NUM_FACT=-1, $nameComplement=0){
...
echo '<SELECT name="NUM_FACT_ONE_' . $nameComplement . '>';
...
}

Ensuite dans le traitement il faut que tu tri les données de ta superglobale $_POST. Il y a plein de possiblités en fonction de ce que tu veux faire de tes données ensuite mais tu peux faire quelque chose de ce genre :
Code php :
1
2
3
4
5
6
7
8
9
10
11
12
foreach($_POST as $champ=>$value){
	if(substr($champ, 0, 7) === "NUM_DOS"){
		$index = (int) str_replace("NUM_DOS_", "", $champ);
		$tabRetour[$index]["num_dos"] = $value;
	}elseif(substr($champ, 0, 12) === "NUM_FACT_ONE"){
		$index = (int) str_replace("NUM_FACT_ONE_", "", $champ);
		$tabRetour[$index]["fact_one"] = $value;
	}elseif(substr($champ, 0, 12) === "NUM_FACT_TWO"){
		$index = (int) str_replace("NUM_FACT_TWO_", "", $champ);
		$tabRetour[$index]["fact_two"] = $value;
	}
}
osore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 11h06   #8
Invité régulier
 
Homme
etudiant
Inscription : décembre 2011
Messages : 54
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : etudiant

Informations forums :
Inscription : décembre 2011
Messages : 54
Points : 6
Points : 6
Merci encore.

Par contre pour les fonction select_facture elles ne renvoient pas le même nom normalement:

Code :
1
2
3
4
5
function select_facture($NUM_FACT=-1) { 
    // statut mandat de statut dossier 
	$select = "select NUM_FACT    from facture order by NUM_FACT asc";	
	$result = mysql_query($select) or die (mysql_error());	
	echo "<SELECT name=\"NUM_FACT\" " ;
Code :
1
2
3
4
5
function select_facture2($NUM_FACT=-1) { 
    // statut mandat de statut dossier 
	$select = "select NUM_FACT from facture order by NUM_FACT asc";	
	$result = mysql_query($select) or die (mysql_error());	
	echo "<SELECT name=\"NUM_FACT2\">";
MenphisTimrid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 11h23   #9
Membre du Club
 
Homme
Développeur Web
Inscription : décembre 2011
Messages : 32
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Orne (Basse Normandie)

Informations professionnelles :
Activité : Développeur Web
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : décembre 2011
Messages : 32
Points : 53
Points : 53
Citation:
Envoyé par MenphisTimrid Voir le message
Par contre pour les fonction select_facture elles ne renvoient pas le même nom normalement:
Elles ne renvoient pas le même nom que tu appelle ta fonction select_facture1() ou select_facture2() mais si tu appelles plusieurs fois select_facture1() (ce que tu fais), elle va te renvoyer à chaque fois le même nom :
Code html :
1
2
3
4
5
6
7
8
9
10
<tr>
	<select name="NUM_FACT"><option value="">...</option></select>
	<select name="NUM_FACT2"><option value="">...</option></select>
	<input type="hidden" name="NUM_DOS_1" value="1">
</tr>
<tr>
	<select name="NUM_FACT"><option value="">...</option></select>
	<select name="NUM_FACT2"><option value="">...</option></select>
	<input type="hidden" name="NUM_DOS_2" value="2">
</tr>
osore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 11h29   #10
Invité régulier
 
Homme
etudiant
Inscription : décembre 2011
Messages : 54
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : etudiant

Informations forums :
Inscription : décembre 2011
Messages : 54
Points : 6
Points : 6
Ah effectivement je viens de comprendre j'avais zappé le foreach
MenphisTimrid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 09h40   #11
Invité régulier
 
Homme
etudiant
Inscription : décembre 2011
Messages : 54
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : etudiant

Informations forums :
Inscription : décembre 2011
Messages : 54
Points : 6
Points : 6
Je up ce topic parce que je n'ai pas compris cette partie:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
foreach($_POST as $champ=>$value){
	if(substr($champ, 0, 7) === "NUM_DOS"){
		$index = (int) str_replace("NUM_DOS_", "", $champ);
		$tabRetour[$index]["num_dos"] = $value;
	}elseif(substr($champ, 0, 12) === "NUM_FACT_ONE"){
		$index = (int) str_replace("NUM_FACT_ONE_", "", $champ);
		$tabRetour[$index]["fact_one"] = $value;
	}elseif(substr($champ, 0, 12) === "NUM_FACT_TWO"){
		$index = (int) str_replace("NUM_FACT_TWO_", "", $champ);
		$tabRetour[$index]["fact_two"] = $value;
	}
}
si tu pouvais me l'expliquer Pour l'instant je n'arrive à récupérer que les dernières factures, sauf qu'il les décompose : si j'ai facture "F-2204" il va me sortir facture="F", facture="-", facture="2" , etc ...

D'ou certainement l'utilisation de ton substr? Merci encore
MenphisTimrid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 11h47   #12
Membre du Club
 
Homme
Développeur Web
Inscription : décembre 2011
Messages : 32
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Orne (Basse Normandie)

Informations professionnelles :
Activité : Développeur Web
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : décembre 2011
Messages : 32
Points : 53
Points : 53
Le bout de script permet de créé un tableau du style :
Code php :
1
2
3
4
5
6
7
8
9
$tabRetour = array(
	"num_dosssier_1" => array(
		"num_dos"=>1,
		"fact_one"=>7,
		"fact_two"=>4),
	"num_dosssier_2" => array(
		"num_dos"=>2,
		"fact_one"=>4,
		"fact_two"=>1));
Il faut que tu le modifie en fonction de ce que tu compte faire de tes variables
Code php :
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
//Parcours des champs envoyés par le formulaire
foreach($_POST as $champ=>$value){
	//Si les 7 premières lettre du nom du champ sont "NUM_DOS"
	if(substr($champ, 0, 7) === "NUM_DOS"){
		//Alors le champ est un numéro de dossier
		//Récupération du numéro de dossier en supprimant le début du nom du champ
		//Ici on attends un entier (int), à toi de le modifier si ton suméro de dossier est d'une autre composition
		$index = (int) str_replace("NUM_DOS_", "", $champ);
		//Enregistrement dans le tableau
		$tabRetour[$index]["num_dos"] = $value;
	//Si les 12 premières lettre du nom du champ sont "NUM_FACT_ONE"
	}elseif(substr($champ, 0, 12) === "NUM_FACT_ONE"){
		//Alors le champ l'identifiant de la 1ère facture
		//Récupération du numéro de dossier en supprimant le début du nom du champ
		//Ici on attends un entier (int), à toi de le modifier si ton suméro de dossier est d'une autre composition
		$index = (int) str_replace("NUM_FACT_ONE_", "", $champ);
		//Enregistrement dans le tableau
		$tabRetour[$index]["fact_one"] = $value;
	//Si les 12 premières lettre du nom du champ sont "NUM_FACT_TWO"
	}elseif(substr($champ, 0, 12) === "NUM_FACT_TWO"){
		//Alors le champ l'identifiant de la 2ème facture
		//Récupération du numéro de dossier en supprimant le début du nom du champ
		//Ici on attends un entier (int), à toi de le modifier si ton suméro de dossier est d'une autre composition
		$index = (int) str_replace("NUM_FACT_TWO_", "", $champ);
		//Enregistrement dans le tableau
		$tabRetour[$index]["fact_two"] = $value;
	}
}

Citation:
Envoyé par MenphisTimrid Voir le message
Pour l'instant je n'arrive à récupérer que les dernières factures
C'est normal puisque, comme je te l'ai déjà dit, tous tes select ont le même nom, il prend donc la dernière valeur qu'il lit:
Code html :
1
2
3
4
5
6
7
8
9
10
11
12
13
<form name="formulaireTest" method="post" action="#">
	<select name="NUM_FACT"><option value="">...</option></select>
	<select name="NUM_FACT2"><option value="">...</option></select>
	<input type="hidden" name="NUM_DOS_1" value="1">
 
	<select name="NUM_FACT"><option value="">...</option></select>
	<select name="NUM_FACT2"><option value="">...</option></select>
	<input type="hidden" name="NUM_DOS_2" value="2">
 
	<select name="NUM_FACT"><option value="">...</option></select>
	<select name="NUM_FACT2"><option value="">...</option></select>
	<input type="hidden" name="NUM_DOS_3" value="2">
</form>
Il faut que tu changes le nom de tes selects en intégrant un identifiant pour qu'ils aient des noms différents.
Code html :
1
2
3
4
5
6
7
8
9
10
11
12
13
<form name="formulaireTest" method="post" action="#">
	<select name="NUM_FACT_1"><option value="">...</option></select>
	<select name="NUM_FACT2_1"><option value="">...</option></select>
	<input type="hidden" name="NUM_DOS_1" value="1">
 
	<select name="NUM_FACT_2"><option value="">...</option></select>
	<select name="NUM_FACT2_2"><option value="">...</option></select>
	<input type="hidden" name="NUM_DOS_2" value="2">
 
	<select name="NUM_FACT_3"><option value="">...</option></select>
	<select name="NUM_FACT2_3"><option value="">...</option></select>
	<input type="hidden" name="NUM_DOS_3" value="2">
</form>
osore est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h44.


 
 
 
 
Partenaires

Hébergement Web