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 :

Aide pour requete UPDATE depuis un formulaire checkbox [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 42
    Points : 34
    Points
    34
    Par défaut Aide pour requete UPDATE depuis un formulaire checkbox
    Bonjour, cela fait 5heures que je cherche partout la solution a mon probleme, sans progression hélas.

    Ma requete : je selectionne les activités où facture = 0 (non facturé)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $query_req = "SELECT * FROM listing WHERE listing.facture = 0";
    $req = mysql_query($query_req, $sql) or die(mysql_error());
    $row_req = mysql_fetch_assoc($req);
    Je crée mon formulaire à base de checkbox (boucle php):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <form method="post" action="facture2.php"><?php $sommeTotaux = 0; do { ?> 
     
     
    <input type='checkbox' name='updatefacture[]' value="<?php echo $row_req['activite_id'];?>">
     
    <?php  $sommeTotaux += $total;} while ($row_req = mysql_fetch_assoc($req));  ?>
     
    <input name="submit" type="submit" value="Facturer les activités séléctionnées">
    </form>
    ensuite, je passe sur la page facture2.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $update_facture = $_POST['updatefacture']; 
    foreach($update_facture as $fact)
    { $req2 = "UPDATE listing SET facture = '1' WHERE 'activite_id' = '$fact' " ; 
     mysql_query ($req2);
     }
    La valeur de facture dans la table Mysql reste inchangée et je ne trouve pas ce qui cloche !

    Merci de votre aide , Craac.

  2. #2
    Membre régulier Avatar de reno_tidus
    Profil pro
    Inscrit en
    Août 2007
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 132
    Points : 122
    Points
    122
    Par défaut
    Premierre chose essai un dans ta boucle de facture2.php afin de voir si tes requêtes sont éffectués ou non ensuite dans ton formulaire ton composant a pour name "
    updatefacture[]" et tu fait un $_POST['updatefacture'] est-ce que ça ne viendrai pas de là.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 42
    Points : 34
    Points
    34
    Par défaut
    j'obtient bien les valeur en faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print_r($_POST['updatefacture']);
    Array ( [0] => 20 ) pour une seule case cochée, Array ( [0] => 20 [1] => 24 [2] => 22 ) pour 3 cases cochées par exemple

  4. #4
    Membre régulier Avatar de reno_tidus
    Profil pro
    Inscrit en
    Août 2007
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 132
    Points : 122
    Points
    122
    Par défaut
    As tu essayé le echo $req juste après $req = 'UPDATE...
    Au moins tu verra si le problème vient de ta boucle ou pas.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 42
    Points : 34
    Points
    34
    Par défaut
    erreur identifiée :

    il fallait mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req2 = "UPDATE listing SET facture = 1 WHERE activite_id = " . $fact;
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req2 = "UPDATE listing SET facture = '1' WHERE 'activite_id' = '$fact' " ;

  6. #6
    Membre régulier Avatar de reno_tidus
    Profil pro
    Inscrit en
    Août 2007
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 132
    Points : 122
    Points
    122
    Par défaut
    Et bien voila, content d'avoir pu t'aidé mais j'avoue ne pas tout comprendre car je fais souvent mes requêtes de la même facon que ta première version et sa marche alors je ne voit pas pourquoi sa ne marche pas chez toi (a part que moi je ne met pas de " ' ").

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

Discussions similaires

  1. inner join pour requete update ne marche pas
    Par Garra dans le forum Requêtes
    Réponses: 4
    Dernier message: 25/01/2006, 14h14
  2. Aide Pour Requete SQL Simple ... Merci d'avance :)
    Par thefutureisnow dans le forum Langage SQL
    Réponses: 3
    Dernier message: 09/12/2005, 12h39
  3. aide pour requete sur 2 tables avec clé étranere
    Par richton95 dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/12/2005, 14h32
  4. Aide pour un alignement dans un formulaire
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 16/08/2005, 15h13
  5. [SQL] aide pour requete UPDATE SVP
    Par ganok dans le forum Langage SQL
    Réponses: 9
    Dernier message: 10/03/2005, 10h17

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