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 plusieurs champs en même temps [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué Avatar de Akramweb
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 227
    Points : 197
    Points
    197
    Par défaut Modifier plusieurs champs en même temps
    j'ai un formulaire dans lequel je peux récupérer toutes mes données

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <input name="idacpt[<?php echo $row_acpt['id'];?>]" type="hidden" id="idacpt[<?php echo $row_acpt['id'];?>]" value="<?php echo $row_acpt['id'];?>" />
    <input name="mtg[<?php echo $row_tache['id'];?>]" type="text" id="mtg[<?php echo $row_tache['id'];?>]" value="<?php echo $row_acpt['metrage'];?>" size="5" />
    <input name="pu[<?php echo $row_tache['id'];?>]" type="text" id="pu[<?php echo $row_tache['id'];?>]" value="<?php echo $row_acpt['pu'];?>" size="5" />
    <input name="qt[<?php echo $row_tache['id'];?>]" type="text" id="qt[<?php echo $row_tache['id'];?>]" value="<?php echo $row_acpt['qt'];?>" size="5" />
    et cela marche a merveille, et même au moment de la récupérer sur la page de la modification

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    // -------------
    $array_mtg = $_POST['mtg'];
    $array_pu = $_POST['pu'];
    $array_qt = $_POST['qt'];
    $array_idacpt=$_POST['idacpt'];
    // -------------
     
    foreach ($array_mtg as $id => $val){
    $sql="update tache_acompte set id='$array_idacpt[$id]',id_terrain='$id_terrain',id_operateur='$id_tier',id_tache='$id',pu='$array_pu[$id]',metrage='$array_mtg[$id]',qt='$array_qt[$id]',total_accord='$total_accord[$id]' where id='$array_idacpt[$id]'";
    }
    mon problème est le suivant : $array_idacpt=$_POST['idacpt'];

    idacpt est le nom du champ qui contient l'ID que j'ai récupère à partir d'une autre table via une requête sur la page "formulaire".

    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Akramweb Voir le message
    de l'aide SVP, et non des énigme.
    LOL. C'est toi qui dis ça ?

    Tu trouves vraiment que tes "explications" sont claires ??

    Merci de reformuler, Nostradamus !

  3. #3
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Citation Envoyé par Akramweb Voir le message

    mon problème est le suivant : $array_idacpt=$_POST['idacpt'];
    car un ID que je le récupère à partir d'une autre table via une requête sur la page "formulaire".

    sur le formulaire j'arrive à voir l'ID, un ID identique à chaque ligne dans ma 2ème table.

    de l'aide SVP, et non des énigme.
    Merci d'avance
    la variable qui contient l'ID caché :
    Ta demande elle-même est une énigme... Relis-toi un minimum, c'est une blague ?

  4. #4
    Membre habitué Avatar de Akramweb
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 227
    Points : 197
    Points
    197
    Par défaut
    j'ai relis mon message.
    Merci pour les remarques

    la valeur de la variable : $array_idacpt est toujours le dernier ID (id=3).
    par-contre j'ai (ID=1) et (ID=2)

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    As-tu les bonnes valeurs quand tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach ($array_mtg as $id => $val){
    echo 'key : '.$id.' valeur : '.$val.'<br>'; 
    }
    Si tu n'a pas les bonnes valeurs dans cette boucle c'est qu'il y a un problème dans la répétition (l'écriture en boucle) de ton formulaire.

  6. #6
    Membre habitué Avatar de Akramweb
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 227
    Points : 197
    Points
    197
    Par défaut
    une fois je fais affichage source sur la page du formulaire, je voix que le champs ID contient les vrais valeurs.
    car comme je vous ai dis, sur mon formulaire il y a 2 requêtes.
    La première permet de récupérer les valeurs : mtg, pu et qt
    La deuxième permet de récupérer les valeurs : ID une autre table.
    et cela fonction

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Akramweb Voir le message
    et cela fonctionne
    Si c'était le cas, on ne serait pas là !

    Tu as tantôt $row_acpt['...'], tantôt $row_tache['...']
    Quel est le bon ?

    Vérifie si l'affichage de ton formulaire est correct.
    Dernière modification par Invité ; 14/06/2013 à 17h07.

  8. #8
    Membre habitué Avatar de Akramweb
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 227
    Points : 197
    Points
    197
    Par défaut
    $row_tache['id'] : est un ID de la première requête.

    $row_acpt['id'] : est mon ID que j'ai récupéré à partir de ma deuxième requête.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Il faut VRAIMENT que tu expliques CLAIREMENT :
    - quel est le problème ?
    - quel résultat tu veux obtenir
    - comment tu t'y prends : enchainement logique des actions ?
    - montres les requetes, (2 requetes ?)
    - montre le formulaire (+ imbrications des requetes, while ou foreach,...)
    - ...

    Je pense AVANT TOUT que tu as un problème de CONCEPTION :
    il faut savoir ce qu'on fait, et ce qu'on veux obtenir, pour utiliser les bons moyens d'y arriver.

  10. #10
    Membre habitué Avatar de Akramweb
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 227
    Points : 197
    Points
    197
    Par défaut
    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
     
    <?php
                  while($row_tache=mysql_fetch_array($result_tache)){
                  $id_operateur_tache=$row_tache['id'];
                  $sql_acpt="select * from tache_acompte where id_terrain='$id_terrain' and id_operateur='$id_tier' and id_tache='$id_operateur_tache'";
                  $result_acpt=mysql_query($sql_acpt);
                  $row_acpt=mysql_fetch_array($result_acpt);
                  ?>
     
    <input name="idacpt[<?php echo $row_acpt['id'];?>]" type="hidden" id="idacpt[<?php echo $row_acpt['id'];?>]" value="<?php echo $row_acpt['id'];?>" />
     
    <input name="mtg[<?php echo $row_tache['id'];?>]" type="text" id="mtg[<?php echo $row_tache['id'];?>]" value="<?php echo $row_acpt['metrage'];?>" size="5" />
     
    <input name="pu[<?php echo $row_tache['id'];?>]" type="text" id="pu[<?php echo $row_tache['id'];?>]" value="<?php echo $row_acpt['pu'];?>" size="5" />
     
    <input name="qt[<?php echo $row_tache['id'];?>]" type="text" id="qt[<?php echo $row_tache['id'];?>]" value="<?php echo $row_acpt['qt'];?>" size="5" />
     
    <?php } ?>

  11. #11
    Invité
    Invité(e)
    Par défaut
    C'est ce que je dis : un problème de conception (ici, plutôt une confusion entre les ID) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <input name="idacpt[<?php echo $row_tache['id'];?>]" type="hidden" value="<?php echo $row_acpt['id'];?>" />
     
    <input name="mtg[<?php echo $row_tache['id'];?>]" type="text" value="<?php echo $row_acpt['metrage'];?>" size="5" />
     
    <input name="pu[<?php echo $row_tache['id'];?>]" type="text" value="<?php echo $row_acpt['pu'];?>" size="5" />
     
    <input name="qt[<?php echo $row_tache['id'];?>]" type="text" value="<?php echo $row_acpt['qt'];?>" size="5" />
    Tu as fais une confusion entre la valeur (value="...") et l'index de l'attribut name="..."
    N.B. J'ai enlevé les id="...." qui ne servent à rien ici.

  12. #12
    Membre habitué Avatar de Akramweb
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 227
    Points : 197
    Points
    197
    Par défaut
    moi j'ai cru au début que le fait de récupérer la valeur c'est déjà un bon début. Mais j'ai renommé le champs de la même manière.


    Merci jreaux62

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

Discussions similaires

  1. changer le type de données de plusieurs champs en même temps
    Par djerbafr dans le forum Modélisation
    Réponses: 1
    Dernier message: 05/08/2008, 15h34
  2. Modifier plusieur object en même temp
    Par jojo86 dans le forum Composants VCL
    Réponses: 4
    Dernier message: 24/01/2008, 14h42
  3. Réponses: 3
    Dernier message: 17/07/2007, 09h44
  4. [DW MX2004] Modifier plusieurs page en même temps sous DW
    Par david47000 dans le forum Dreamweaver
    Réponses: 1
    Dernier message: 17/07/2007, 09h17
  5. Modifier deux champs en même temps!!!
    Par Invité dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 08/09/2005, 20h31

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