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 11/12/2006, 16h01   #1
Invité régulier
 
Inscription : avril 2004
Messages : 102
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : avril 2004
Messages : 102
Points : 9
Points : 9
Par défaut Plusieurs formulaires validés par un bouton

Bonjour,

Mon problème est le suivant :
Je souhaiterais pouvoir valider plusieurs lignes d'une table avec un seul bouton.

En fait, j'ai mon formulaire qui affiche différentes lignes de ma table suivant une boucle "while".

Voici un "bout" de mon 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
$imax=count($tableau);
  $total="";
  for($j=0; $j<$imax; $j++)
  {
    $week=$tableau[$j]->week;
    $total.='<h3>- - - - - - - - -  Semaine '.$tableau[$j]->week.'  - - - - - - - - -</h3>';
    $i = $j;
    while ($week == $tableau[$i]->week)
    {
      $total.='<h4>'.strtoupper($tableau[$i]->day).'</h4>';
      $day=$tableau[$i]->day;
      $h = $i;
      while ($day == $tableau[$h]->day && $week == $tableau[$h]->week)
      {      
        $name=$tableau[$h]->name;
        $total.='<form action="formulaire.php" method="GET">';
        $total.='<fieldset><legend>'.$tableau[$h]->name.'</legend>';
        $total.='<div id="entete_form">
                   Date Ch.&nbsp; &nbsp; &nbsp; &nbsp;Date Prépa. &nbsp; &nbsp;Livraison &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Vague&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Remarque
                 </div>';
        $k = $h;
        while ($name == $tableau[$k]->name && $day == $tableau[$k]->day)
        {
          $id = $tableau[$k]->delivery_id;
          $total.='<input type="text" name="load_date'.$k.'" size="8" value="'.$tableau[$k]->load_date.'" disabled /> &nbsp; &nbsp; &nbsp';
          $total.='<input type="text" name="prepa_date'.$k.'" size="8" value="'.$tableau[$k]->prepa_date.'"/> &nbsp; &nbsp; &nbsp;';
          $total.='<input type="text" name="od'.$k.'" size="10" value="'.$tableau[$k]->od.'" disabled /> &nbsp; &nbsp; &nbsp;';
          $total.='<input type="text" name="wave'.$k.'" size="8" value="'.$tableau[$k]->wave.'"/> &nbsp; &nbsp; &nbsp;';
          $total.='<input type="text" name="note'.$k.'" size="50" value="'.$tableau[$k]->note.'"/> &nbsp; &nbsp; &nbsp;';
          $total.='<input type="hidden" name="id'.$k.'" value="'.$tableau[$k]->delivery_id.'"/>';
          $total.='<input type="hidden" name="nb" value="'.$k.'"/>';
          $total.='<br />';
          $k++;
        }
        $total.='<input type="submit" value="Modifier"/>';
        $total.='</fieldset></form>'; 
        $h = $k;       
      }
      $i = $h;   
    }
    $total.='<br />';
    $week = $tableau[$i]->week;
    $j = $i-1;
  }
Quelqu'un peut m'aider ???

Merci d'avance.
Zolex est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2006, 16h47   #2
Membre éclairé
 
Avatar de genova
 
Inscription : septembre 2004
Messages : 487
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 487
Points : 397
Points : 397
Envoyer un message via MSN à genova
Salut, regarde si cette FAQ ne répond pas à ton problème : http://php.developpez.com/faq/?page=...ire_deuxsubmit

@+
__________________
Testez le forum Fire Soft Board, un forum libre, gratuit et français.

Système de template de phpBB - Lisez la FAQ PHP avant toute question si vous débuttez en PHP.
genova est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2006, 16h50   #3
Invité régulier
 
Inscription : avril 2004
Messages : 102
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : avril 2004
Messages : 102
Points : 9
Points : 9
Merci pour ta réponse, mais malheureusement ce FAQ est l'inverse de ce que je recherche.
Il s'agit de plusieurs validation dans un seul formulaire, alors que moi je recherche un seul bouton validation pour plusieurs formulaires (ou plutôt, plusieurs lignes de la table).
Zolex est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2006, 16h54   #4
Membre éclairé
 
Avatar de genova
 
Inscription : septembre 2004
Messages : 487
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 487
Points : 397
Points : 397
Envoyer un message via MSN à genova
Dans ce cas tu peux passer par des tableaux. Par exemple admettons tu as deux champs texte ayant le même nom, tu peux utiliser cette syntaxe :
Code :
1
2
<input type="text" name="champ[]" />
<input type="text" name="champ[]" />
et dans ton script PHP ta variable $_POST['champ'] sera un tableau.

Tu peux bien sur utiliser des indices :
Code :
1
2
<input type="text" name="champ[indice1]" />
<input type="text" name="champ[indice2]" />
et dans ta page PHP : $_POST['champ']['indice1'] et $_POST['champ']['indice2']
__________________
Testez le forum Fire Soft Board, un forum libre, gratuit et français.

Système de template de phpBB - Lisez la FAQ PHP avant toute question si vous débuttez en PHP.
genova est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2006, 17h09   #5
Invité régulier
 
Inscription : avril 2004
Messages : 102
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : avril 2004
Messages : 102
Points : 9
Points : 9
J'ai un peu de mal à saisir (nOOb inside ).

Peux-tu me donner un exemple concret en reprenant une petite partie de mon code ?

Merci d'avance.
Zolex est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2006, 17h58   #6
Membre éclairé
 
Avatar de genova
 
Inscription : septembre 2004
Messages : 487
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 487
Points : 397
Points : 397
Envoyer un message via MSN à genova
Voilà un petit exemple, j'ai essayer de faire quelque chose qui se raproche de ce que tu as besoin :
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
<?php
 
// Traitement du formulaire
if (isset($_POST['submit']))
{
	// Tu récupères quel boutton submit a été cliqué à partir de son indice
	list($indice, $value) = each($_POST['submit']);
 
	// Ensuites tu peux accéder aux champs de la table que tu veux à l'aide de $indice
	// Par exemple tu récupères les load_date ligne par ligne :
	echo 'Tu as cliquer sur le boutton modifier du formulaire numéro : ' . $indice . '<br />Voici le contenu du premier champ de ce premier formulaire, ligne par ligne :<ul>';
	foreach ($_POST['load_date'][$indice] AS $k => $v)
	{
		echo '<li>load_date[' . $k . '] = ' . $v . '</li>';
	}
	echo '</ul>';
}
 
// Affichage du formulaire
echo '<form action="" method="post">';
for ($i = 0; $i < 3; $i++)
{
	echo '<fieldset><legend>Ton formulaire</legend>';
	for ($j = 0; $j < 2; $j++)
	{
		echo '<input type="text" name="load_date[' . $i . '][' . $j . ']" size="8" /> &nbsp; ';
		echo '<input type="text" name="prepa_date[' . $i . '][' . $j . ']" size="8" /> &nbsp; ';
		echo '<input type="text" name="od[' . $i . '][' . $j . ']" size="8" /><br />';
	}
	echo '<input type="submit" name="submit[' . $i . ']" value="Modifier" />';
	echo '</fieldset>';
}
echo '</form>';
 
?>
tu peux le tester sur une page test.php par exemple. J'espère que ça répond a ta question,
@+
__________________
Testez le forum Fire Soft Board, un forum libre, gratuit et français.

Système de template de phpBB - Lisez la FAQ PHP avant toute question si vous débuttez en PHP.
genova est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2006, 01h11   #7
Invité régulier
 
Inscription : avril 2004
Messages : 102
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : avril 2004
Messages : 102
Points : 9
Points : 9
Un énorme merci, je vais tester tout ça mercredi au boulot et je te tiens au courant.
Zolex est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 11h00   #8
Invité régulier
 
Inscription : avril 2004
Messages : 102
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : avril 2004
Messages : 102
Points : 9
Points : 9
Effectivement, ça semble être correcte.
Cependant, dans cet exemple, je ne suis capable d'afficher que la 1ère valeur.

Suis-je obligé d'utiliser des "Foreach" imbriqués pour afficher toutes les valeurs ?
Zolex est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 13h49   #9
Invité régulier
 
Inscription : avril 2004
Messages : 102
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : avril 2004
Messages : 102
Points : 9
Points : 9
C'est bon, j'ai trouvé la solution par moi-même (je deviens presque bon ).

Encore une fois, merci beaucoup pour ton aide.
Zolex est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h26.


 
 
 
 
Partenaires

Hébergement Web