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 :

Requête UPDATE et tableau de champs de formulaire


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2014
    Messages : 13
    Points : 5
    Points
    5
    Par défaut Requête UPDATE et tableau de champs de formulaire
    Bonjour,
    J'ai rempli un tableau à partir de ma base de données.
    Une fois le tableau rempli, il contient une colonne date, libellé et montant.
    J'arrive bien à récupérer toutes les valeurs du tableau.
    Voici la seconde partie de mon tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        <tr> 
            <td><input type="checkbox" name="idligne[]" value="<?php echo $horsforfait['id_lignehorsforfait']; ?>" /><?php echo $horsforfait['id_lignehorsforfait']; ?></td>
            <td><input name="check[]" style="text-align:center;" option value = '<?php echo $horsforfait['date_lignehorsforfait'] ?>' /></td>
            <td><input name="check[]" style="text-align:center;" option value = '<?php echo utf8_encode($horsforfait['libelle_lignehorsforfait']) ?>' /></td>
            <td><input name="check[]" style="text-align:center;" option value = '<?php echo utf8_encode($horsforfait['montant_lignehorsforfait']) ?>' /></td>
        </tr>
    </table>

    Une fois qu'on clique sur un bouton terminer, je récupère les valeurs grâce a ce foreach :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    foreach($_POST['check'] as $ligne) {
            echo $ligne.'<br>';
    }

    Et je voudrais faire un update sur ces champs car l'utilisateur a le droit de les modifier puisque ce sont des champs de saisies. J'ai commencé à faire ma requête qauf que je ne sais pas quoi mettre ou il y les points d’interrogation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    foreach($_POST['check'] as $ligne){
        $update_horsforfait = "UPDATE Lignefraishorsforfait SET libelle_lignehorsforfait='".??."', date_lignehorsforfait='".??."', montant_lignehorsforfait='".??."' WHERE vis_matricule='".$_GET['vis_matricule']."' AND mois_fiche='".$annee_fiche.$mois_fiche."'";
        $exec_horsforfait = odbc_do ($maconnexion, $update_horsforfait);
    }
    Pouvez-vous m'aider svp ??
    Merci d'avance.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Tel que tu construis ton formulaire, tu n'as aucun moyen de savoir à quoi correspondent les données reçues...
    Le but de l'attribut name, ce n'est pas que tous les champs aient le même mais au contraire que chaque champ en ai un correspondant à ce que représente ce champ.
    Bref, dans ton cas, il n'y a aucune raison de les appeler check[].

    Au passage, c'est quoi cet attribut option ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, 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
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2014
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Très bonne question... J'ai prsi ca sur Internet, je sais plus où...

    Et si je donne un name différent par ligne (par exemple check_un[], check_deux[], check_trois[]) et que je les récupère avec 3 foreach, je pourrais faire ma requête ou pas ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    foreach($_POST['check_un'] as $ligne_un) {
    	// Requete
    }
     
    foreach($_POST['check_deux'] as $ligne_deux) {
    	// Requete
    }
     
    foreach($_POST['check_trois'] as $ligne_trois) {
    	// Requete
    }

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/03/2013, 01h27
  2. [SQL] Requête UPDATE et tableau
    Par JackBeauregard dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 27/08/2007, 10h54
  3. Requête avec like et un champ de formulaire
    Par Sly2k dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 31/07/2006, 15h46
  4. [Formulaire] Récupérer tableau de champs input
    Par dam_moreyllo dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 14/06/2006, 10h49
  5. Réponses: 4
    Dernier message: 12/09/2005, 09h21

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