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 :

Recperer les données d'un tableau


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2011
    Messages : 14
    Points : 8
    Points
    8
    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 : 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
    <?
    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 : 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
    <?
    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
        } 
    ?>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    la fonction foreach ne s'utilise pas comme ça, consulte la documentation.
    Ton insertion doit être dans la boucle foreach : une insertion par élement.

  3. #3
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonsoir,

    Le nom de test tes checkbox est nom_check[]

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    foreach ($_POST["nom_check"] as $index => $value)

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2011
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Désolé Sabotage tu peut me faire un exemple ou me mettre le lien vers la documentation.

  5. #5
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    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.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2011
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Alors voici ce que j'ai fait avec vos conseil :

    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
    <?
    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

  7. #7
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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());
    }
    }

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2011
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    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

  9. #9
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    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+.

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2011
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Parse error: parse error, expecting `']'' in c:\program files (x86)\easyphp1-8-modgsi\www\sitefringuenew\ciblecommande.php on line 13

    mon code :
    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
    <?
    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
     
    ?>

  11. #11
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    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é.

  12. #12
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(isset($_POST["nom_check"]))
    il y a un "] " manquant

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2011
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Merciii encore vous avez été vraiment patient avec moi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] Trier les données d'un tableau HTML
    Par mouchkar dans le forum Langage
    Réponses: 9
    Dernier message: 05/01/2007, 20h29
  2. Réponses: 6
    Dernier message: 27/09/2006, 20h27
  3. [SQL] Classer les données d'un tableau
    Par EvilAngel dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 21/08/2006, 18h45
  4. Trier les données dans 1 tableau par ordre décroissant
    Par Blunet dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 23/11/2005, 09h56
  5. Réponses: 3
    Dernier message: 18/10/2005, 13h43

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