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 31/05/2011, 19h08   #1
Invité de passage
 
Homme
Lycéen
Inscription : mai 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : mai 2011
Messages : 12
Points : 2
Points : 2
Par défaut Recperer les données d'un tableau

Bonjour alors voici mon problème :

Voici mon tableau avec les cases a cocher devant chaque produit

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
<?
include "debut.incVitrine.php";
include "connexion1.php";
?>
 
<form action="CibleCommande.php" method="post">
<?
   // la requête
        $table="Produit";
        $requete="select nump as Numero, nomp as Produit, pvp as Prix from ".$table." Where Type_Sexe='M';";
        $resultat= mysql_query($requete,$connexion1);
 
   // l'en tête des colonnes du tableau
        echo "<titre><h1>Table : ".$table."</h1></titre>";
        echo '<p /><table border="2" width="75%">';
      echo "<tr>";
echo "<th>&nbsp;</th>";
        for( $i=0; $i < mysql_num_fields($resultat); $i++)
              echo "<th>".mysql_field_name($resultat, $i)."</th>";
        echo "</tr>";
   //  le parcours des lignes et des champs
      while($ligne=mysql_fetch_array($resultat))
 
        {    
		echo "<tr>";
			echo "<td><input type='checkbox' name='nom_check[]' value='".$ligne["Numero"]."' /></td>";
             for($i=0;$i< mysql_num_fields($resultat); $i++)
                 echo "<td>$ligne[$i]</td>";
             echo "</tr>";
 
        }
   // fin du tableau et compte des lignes
        echo "</table><p />";
        echo "Il y a ".mysql_num_rows($resultat)." lignes dans la table ".$table;
   echo '<h3><a href="index.php">RETOUR au menu de la base FRINGUES</a></h3>';
mysql_close($connexion1);
?>
<tr><td align="center"><input type="submit" value="Envoyer"></td></tr>
</form>
Je voudrais que le système récupèrent les données cocher afin de les insérer dans ma table commande j'ai essayer de faire ça mais je pense que c'est faux

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
<?
include "connexion1.php";
include "debut.inc.php";
 
 
$today = date("Y-m-d");
foreach ($Numero = $_POST["Numero"] as $index => $value){
   echo $index." :".$value."<br/>";
}
 
{
       // connexion à la base
		$db = mysql_connect('localhost', 'root', 'root')  or die('Erreur de connexion '.mysql_error());
		// sélection de la base  
 
		mysql_select_db('BddFringue',$db)  or die('Erreur de selection '.mysql_error());
 
		// on écrit la requête sql
		$sql = "INSERT INTO  commande (datecdecl, numpcdecl, numclcde ) VALUES ( '','$today', '$Numero', '')";
		// on insère les informations du formulaire dans la table
		mysql_query($sql)  or die('Erreur SQL !'.$sql.' <br>'.mysql_error());
 
		// on affiche le résultat pour le visiteur
		echo 'Vos infos on été ajoutées.<td class="menu"><a href="Pagevitrine.php">Accueil</a></td>' ;
 
		mysql_close();  // on ferme la connexion
    } 
?>
Smoke92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 19h23   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
la fonction foreach ne s'utilise pas comme ça, consulte la documentation.
Ton insertion doit être dans la boucle foreach : une insertion par élement.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 19h23   #3
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 128
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 128
Points : 7 270
Points : 7 270
Bonsoir,

Le nom de test tes checkbox est nom_check[]

Code :
foreach ($_POST["nom_check"] as $index => $value)
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 19h32   #4
Invité de passage
 
Homme
Lycéen
Inscription : mai 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : mai 2011
Messages : 12
Points : 2
Points : 2
Désolé Sabotage tu peut me faire un exemple ou me mettre le lien vers la documentation.
Smoke92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 19h48   #5
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 128
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 128
Points : 7 270
Points : 7 270
0 - Commence par lire un tutoriel PHP.
1 - Tu mets la connexion à la base avant le boucle foreach.
2 - Tu fait l'insertion dans la boucle foreach.
3 - La valeur du checkbox à chaque iteration est $value mais pas $numero.
4 - Tu fermes la connexion après la boucle.
5 - Penser à regarder les documentations.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 19h59   #6
Invité de passage
 
Homme
Lycéen
Inscription : mai 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : mai 2011
Messages : 12
Points : 2
Points : 2
Alors voici ce que j'ai fait avec vos conseil :

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
<?
include "connexion1.php";
include "debut.inc.php";
 
 
  // connexion à la base
		$db = mysql_connect('localhost', 'root', 'root')  or die('Erreur de connexion '.mysql_error());
		// sélection de la base  
 
		mysql_select_db('BddFringue',$db)  or die('Erreur de selection '.mysql_error());
 
$today = date("Y-m-d");
foreach ( $value = $_POST["nom_check"] as $index => $value)
{
   echo $index." :".$value."<br/>";
   $sql = "INSERT INTO  commande (datecdecl, numpcdecl, numclcde ) VALUES ( '$today', ' $value)";
   mysql_query($sql)  or die('Erreur SQL !'.$sql.' <br>'.mysql_error());
}
 
 
 
 
		// on affiche le résultat pour le visiteur
		echo 'Vos infos on été ajoutées.<td class="menu"><a href="Pagevitrine.php">Accueil</a></td>' ;
 
		mysql_close();  // on ferme la connexion
 
?>
Quand je sélectionne une case et que je fait envoyer voila le message d'erreur que j'ai :

0 :ch01
Erreur SQL !INSERT INTO commande (datecdecl, numpcdecl, numclcde ) VALUES ( '2011-05-31', ' ch01)
Erreur de syntaxe près de '' ch01)' à la ligne 1
Smoke92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 20h04   #7
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 128
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 128
Points : 7 270
Points : 7 270
Code :
1
2
3
4
5
6
7
8
if(isset($_POST["nom_check")){
foreach ( $_POST["nom_check"] as $index => $value)
{
   echo $index." :".$value."<br/>";
   $sql = "INSERT INTO  commande (datecdecl, numpcdecl, numclcde ) VALUES ( '$today', '$value','')";
   mysql_query($sql)  or die('Erreur SQL !'.$sql.' <br>'.mysql_error());
}
}
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 20h11   #8
Invité de passage
 
Homme
Lycéen
Inscription : mai 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : mai 2011
Messages : 12
Points : 2
Points : 2
Marche toujours pas je ne vois vraiment pas l'erreur
Parse error: parse error in c:\program files (x86)\easyphp1-8-modgsi\www\sitefringuenew\ciblecommande.php on line 13

Pourrais tu m'expliqué ce que tu vient de poster merci encore
Smoke92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 20h17   #9
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 128
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 128
Points : 7 270
Points : 7 270
Citation:
Envoyé par Smoke92 Voir le message
Marche toujours pas je ne vois vraiment pas l'erreur
Parse error: parse error in c:\program files (x86)\easyphp1-8-modgsi\www\sitefringuenew\ciblecommande.php on line 13
C'est quoi la ligne 13 et montre nous ton code.
Citation:
Envoyé par Smoke92 Voir le message
Pourrais tu m'expliqué ce que tu vient de poster merci encore
Non je peut pas, il suffit de voir sur google ce les fonctions isset et ce que fait foreach.

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 20h19   #10
Invité de passage
 
Homme
Lycéen
Inscription : mai 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : mai 2011
Messages : 12
Points : 2
Points : 2
Parse error: parse error, expecting `']'' in c:\program files (x86)\easyphp1-8-modgsi\www\sitefringuenew\ciblecommande.php on line 13

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
<?
include "connexion1.php";
include "debut.inc.php";
 
 
  // connexion à la base
		$db = mysql_connect('localhost', 'root', 'root')  or die('Erreur de connexion '.mysql_error());
		// sélection de la base  
 
		mysql_select_db('BddFringue',$db)  or die('Erreur de selection '.mysql_error());
 
$today = date("Y-m-d");
if(isset($_POST["nom_check"))
{
foreach ( $_POST["nom_check"] as $index => $value)
{
   echo $index." :".$value."<br/>";
   $sql = "INSERT INTO  commande (datecdecl, numpcdecl, numclcde ) VALUES ( '$today', '$value','')";
   mysql_query($sql)  or die('Erreur SQL !'.$sql.' <br>'.mysql_error());
}
}
 
 
 
 
		// on affiche le résultat pour le visiteur
		echo 'Vos infos on été ajoutées.<td class="menu"><a href="Pagevitrine.php">Accueil</a></td>' ;
 
		mysql_close();  // on ferme la connexion
 
?>
Smoke92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 20h21   #11
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Il y a une parenthèse fermante au lieu d'un ].

Si tu ne sais pas identifier ce genre de problème, il est necessaire que tu revois les bases de la syntaxe PHP, sinon tu seras tout le temps bloqué.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 20h21   #12
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 128
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 128
Points : 7 270
Points : 7 270
Code :
if(isset($_POST["nom_check"]))
il y a un "] " manquant
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 20h26   #13
Invité de passage
 
Homme
Lycéen
Inscription : mai 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : mai 2011
Messages : 12
Points : 2
Points : 2
Merciii encore vous avez été vraiment patient avec moi
Smoke92 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 17h50.


 
 
 
 
Partenaires

Hébergement Web