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

PHP & Base de données Discussion :

Envoi de formulaire avec tableaux [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Autre
    Inscrit en
    Mai 2016
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Mai 2016
    Messages : 64
    Par défaut Envoi de formulaire avec tableaux
    Bonsoir, alors voila j'ai un soucis avec un formulaire qui envoie un tableau. J'ai chercher de fond en comble mais vraiment la je sèche complet.

    Donc le principe:

    -> on a une page avec une liste de vaisseaux. Chacun ayant un ID. On doit cocher une case pour selectionner les vaisseaux, ensuite on les envoies avec le bouton valider.
    [au début j'ai utilisé un number avec valeur 0 ou 1 mais ça n'a pas marché comme je voulais]

    Donc je devrais récupérer chaque ID, du vaisseaux sélectionné uniquement. A l'heure actuelle il me récupère tout les vaisseaux... Et ce n'est pas ce que je lui demande, je n'y arrive pas c'est pourquoi je viens ici quérir votre aide!
    D'avance merci

    Voici les codes intégrale des deux pages:

    Page 1: La ou se trouve le formulaire, maintenant je l'ai fait passé sur une checkbox.

    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
    <form method="POST" action="<?php echo pathPhp(); ?>flotte/traitement_attaque_planete.php">
    <?php
    $lst_v=$bdd->prepare('SELECT * FROM vaisseau_joueur WHERE id_membre = ? AND id_planete = ?');
    $lst_v->execute(array($id_membre,$planete_utilise));
    while($liste_vaisseaux=$lst_v->fetch())
    	{
     
    		echo $liste_vaisseaux['nom_vaisseau'];
    ?>
     
    <input type="hidden" name="id_vaisseau[]" value="<?php echo htmlentities($liste_vaisseaux['id']) ?>">
    <input type="checkbox" name="choix[]" value="choix"> Choix <br>
     
     
    </br>
    <?php } ?>
     
    <input type="text" name="coordonnee_planete_vise" placeholder=" Coordonnee ">
    <input type="submit" name="att_pla" value="Attaquer la planète"></input>
    </form>
    Et voici le code 2; le code de reception:

    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
    if($_POST)
    	{
    		//var_dump($_POST);
    		$coordonnee_planete_vise=strip_tags($_POST['coordonnee_planete_vise']);	
     
    		foreach( $_POST['id_vaisseau'] as $key => $values )// Foreach me sert a récuperer le tableau, la clef elle me permet de récuperé si 0 ou 1 envoyé.
    			{
     
    													//echo $key;
    													var_dump($_POST);
    													//echo $_POST['choix'];
    													//$vaisseau_choix=$_POST['vaisseau_choix'];
    													$id_vaisseau=$values;
     
    													// Récupère la ligne de la table planete avec les coordonnées enregistré
    													$enn=$bdd->prepare('SELECT * FROM planete WHERE coordonnee = ?');
    													$enn->execute(array($coordonnee_planete_vise));
    													$ennemi=$enn->fetch();
    													//var_dump($_POST); // Me donne toute la ligne du tableau foreach
     
     
    													// Selectionne les statistiques des vaisseaux à transferé dans l'autre table
    													$select=$bdd->prepare('SELECT * FROM vaisseau_joueur WHERE id_membre = ? AND id_planete = ? AND id=?');
    													$select->execute(array($id_membre,$planete_utilise,$id_vaisseau));
    													$s=$select->fetch();
     
     
    													$nom_vaisseau=htmlentities($s['nom_vaisseau']);
    													$attaque_v=htmlentities($s['attaque']);
    													$bouclier_v=htmlentities($s['bouclier']);
    													$defense_v=htmlentities($s['defense']);
     
    													if($key == "choix")
    														{
    															echo "test ok?";
     
    														}
     
    												}
    Voila :/ j'ia essayé deux foreach, un foreach seul, un foreach avec $key mais je n'ai jamais obtenu ce que je voulais.

    Cordialement,

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="hidden" name="id_vaisseau[]" value="<?php echo htmlentities($liste_vaisseaux['id']) ?>">
    <input type="checkbox" name="choix[]" value="choix"> Choix <br>
    Par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="id_vaisseau[]" value="<?php echo htmlentities($liste_vaisseaux['id']) ?>"> Choix <br>
    Récupération

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    		foreach( $_POST['id_vaisseau'] as $id_vaisseau ) // uniquement les cases cochées

  3. #3
    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
    Par défaut
    Ton champs hidden ne sert pas.
    La valeur de ta checkbox doit être l'id :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="choix[]" value="' . $liste_vaisseaux['id'] . '"> Choix <br>
    et pas besoin de mettre un htmlentities sur une valeur numérique qui vient de ta base de données.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Membre confirmé
    Homme Profil pro
    Autre
    Inscrit en
    Mai 2016
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Mai 2016
    Messages : 64
    Par défaut
    Okay, bon effet cela fonctionne comme je veux, je vous remercie ^^! Je m'en sortais pas trois jours sur ces lignes de codes. Merci beaucoup encore une fois

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

Discussions similaires

  1. Retour d'un envoi de formulaire avec un input file
    Par kawaï dans le forum jQuery
    Réponses: 1
    Dernier message: 17/04/2015, 14h04
  2. Envoi de formulaire avec piece jointe
    Par remy182 dans le forum Langage
    Réponses: 2
    Dernier message: 20/05/2014, 09h04
  3. [HTML] Envoi dun formulaire avec un lien au lieu d'un bouton
    Par Mysticlolly dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 19/05/2010, 12h30
  4. [RegEx] [Formulaire]= problème d'envoi de formulaire avec pièces jointes
    Par lyamarin dans le forum Langage
    Réponses: 22
    Dernier message: 03/04/2007, 13h29
  5. Envoi de formulaire avec attribution de valeur
    Par nicovoa dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/08/2006, 18h22

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