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 :

Modifier des champs aprés un affichage en liste.


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 5
    Par défaut Modifier des champs aprés un affichage en liste.
    Bonjour, voila j'ai affiché les lignes d'une table de ma BDD comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    while ($ligne = $stmt->fetch()){
         <tr> 
               <td>
    		<input type="text" value="'.$ligne['Quantite'].'"/>
    	   </td>
         </tr>
    }
    *$stmt = mon objet PDO


    Jusque la tout va bien, mais j'aimerais modifier les valeurs de ce que j'ai affiché en BDD. Je ne sais pas comment faire étant donné que le POST a besoin d'un name pour les inputs.

    Merci d'avance si vous pouvez me mettre sur la voie.

  2. #2
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Bonjour,

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while ($ligne = $stmt->fetch()){
         echo  '<tr><td>'
             . '<input type="text" name="quantite" value="'.$ligne['Quantite'].'"/>'
             . '</td></tr>';
    }

    Tu as oublié echo , et tu peux rajouter name="quantite" , tu le récupères ensuite avec $_POST['quantite']

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 188
    Par défaut
    Bonjour,

    Vu que je suppose que tu as plusieurs lignes, je te propose ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while ($ligne = $stmt->fetch()){
         echo  '<tr><td>'
              . '<input type="text" name="quantite['.$ligne["IdLigne"].']" value="'.$ligne['Quantite'].'"/>'
              . '</td></tr>';
    }
    après pour récupérer les valeurs du formulaires tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if(isset($_POST["quantite"]) && is_array($_POST["quantite"])){
    foreach($_POST["quantite"] as $key=>$val){
    //ton traitement
    }
    }
    où $key est l'id de la ligne à modifier dans la bdd et $val la valeur à mettre à jour

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 5
    Par défaut
    Hum oui en effet c'est beaucoup plus simple, donc on a un tableau quantité qui contient tout les id + quantité associé, un tableau montant qui contient les id + montant associé, etc ...
    Franchement j'ai fais quelque chose de tordu pour obtenir un résultat simple ...
    J'ai ré-exécutée la requête du coté de mon script qui traite les données car j'avais mis l'id en key d'un simple tableau clé-valeur
    mais du coup quand je faisait $_POST['monId'] ça me donné bien sur la valeur associé et impossible d'utilisé ce "monId". Avec cette solution on peut utilisé le $key ? ou ça donne ce qui a dans le $val coorespondant ?

    Merci en tout cas

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 188
    Par défaut
    Tu peux utiliser $key et $val.
    $key est la clé de ton tableau donc ton IdLigne et $val ta quantité

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 5
    Par défaut
    d'ac merci bien

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/07/2009, 13h06
  2. Vidage des champs après une validation
    Par TheJoe dans le forum JSF
    Réponses: 4
    Dernier message: 14/12/2007, 16h37
  3. Réponses: 2
    Dernier message: 03/12/2007, 09h57
  4. [MySQL] Erreur pour modifier des champs
    Par kevinf dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 12/11/2006, 21h47
  5. Modifier des champs d'une table a partir du VB
    Par MeRc|LeSs dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 06/07/2006, 14h58

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