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 :

requete update mysql [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 324
    Par défaut requete update mysql
    Bonjour,

    J'ai une requete qui sert à afficher les articles commandés avec les quantité :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $result = mysql_query("SELECT * FROM megusta_panier_session WHERE id_session='$PHPSESSID' ORDER BY id_gamme ") or die ('Erreur : '.mysql_error() );

    j'affiche mes différentes lignes comme ceci :

    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
     
    while($row = mysql_fetch_array($result)) {
     
     
    echo '<table class="coltableau">'."\n";
    echo '<tr>';
    echo '<td class="coltableau1">'.$row['nom_article'].'</td>';
    echo '<td class="coltableau2" >'.$row['ref_article'].'</td>';
    echo '<td class="coltableau3" >'.$prix_public_ttc2.'</td>';
    echo '<td class="coltableau4" >'.$row['poids_article'].'</td>';
    echo '<td class="coltableau5" ><input name="quantite_article" type="text" id="quantite" value='.$row['quantite_article'].'></td>';
    echo '<td class="coltableau6" >'.$prix2.' €</td>';
    echo '</tr>'."\n";
    }
    echo '</table>'."\n";

    La valeur $row['quantite_article'] s'affiche dans un INPUT, afin que l'utilisateur puisse modifier la quantité.

    J'aimerai utiliser une requete update afin de mettre à jour la base mysql en fonction des quantités entrées par l'utilisateur, mais je bloque sur l'architecture de cette requete (et ou je l'a mets)


    Merci

  2. #2
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Salut ! Pourquoi ne pas faire ca :

    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
    while($row = mysql_fetch_array($result)) {
     
     
    echo '<table class="coltableau">'."\n";
    echo '<tr>';
    echo '<td class="coltableau1">'.$row['nom_article'].'</td>';
    echo '<td class="coltableau2" >'.$row['ref_article'].'</td>';
    echo '<td class="coltableau3" >'.$prix_public_ttc2.'</td>';
    echo '<td class="coltableau4" >'.$row['poids_article'].'</td>';
    echo '<td class="coltableau5" >
    <form method="post" action="">
    <input name="quantite_article" type="text" id="quantite" value='.$row['quantite_article'].'> <br/>
    <input type="submit" name="btmodif" value="Modifier?"/>
    </form>
    </td>';
    echo '<td class="coltableau6" >'.$prix2.' €</td>';
    echo '</tr>'."\n";
    }
    echo '</table>'."\n";
    Puis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (isset($_POST['btmodif'])){
        $nouvelleqte=$_POST['quantite'];
        //puis tu fais ta requête de mise à jour
    }
    La je n'ai pas fait le test de la quantité = 0 ou autre, à toi de faire les vérifs^^

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 324
    Par défaut
    je vais essayer

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 324
    Par défaut
    Cela doit pouvoir marcher, mais pour des raisons ergonomiques, j'aimerai qu'il y ait qu'un seul bouton "Recalculer" pour toutes les lignes

  5. #5
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,
    j'aimerai qu'il y ait qu'un seul bouton "Recalculer" pour toutes les lignes
    Alors comment penses-tu savoir quel ligne d'enregistrement à Modifier?
    Passe les id des enregistrements en paramètre de liens sur chaque ligne que tu le récupère avec GET ou bien pour faire appel à une fonction AJAX.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 324
    Par défaut
    On ne peut pas faire un update sr toutes les lignes, même si elles n'ont pas été modifiées ?

  7. #7
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Si tu peux faire mais c'est très gourmand, en plus il y a des risques que l'utilisateur modifie par accident d'autre champ. Je te conseil de n'utiliser qu'une seul formulaire avec lequel tu modifies l'enregistrement désiré.

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 324
    Par défaut
    En fait il s'agit d'un panier en php où l'utilisateur doit pouvoir modifier les quantités avec un bouton recalculer pour mettre les différents totaux à jour.
    Seul la quantité est un INPUT en face de chaque article dans la page donc l'utlisateur ne peut rien modifier d'autre. c'est un truc qu'on voit souvent dans les site ecommerce.

    Ne pourrait on pas récuperer l'id de chaque ligne avec la quantité correspondante puis avec une requete update mettre la table à jour puis réafficher le même panier mis à jour. le tout en cliquant sur un seul bouton

  9. #9
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Oui, tu peux, mets l'id de la ligne dans un input hidden avant le submit et tu le récupères avec php.

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 324
    Par défaut
    Ok je vais tenter ca

    merci

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

Discussions similaires

  1. [MySQL] relier plusieurs tables dans une requete "update" en mysql
    Par ainuod dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 26/06/2011, 19h45
  2. [MySQL] requete update mysql php
    Par fasyr dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 24/10/2008, 13h49
  3. [version] Requete Update avec différentes versions de mySQL
    Par regbegpower dans le forum Requêtes
    Réponses: 2
    Dernier message: 26/01/2004, 17h19
  4. Requete update
    Par gianfare dans le forum Langage SQL
    Réponses: 7
    Dernier message: 10/10/2003, 09h04
  5. [debutante] erreur requete update
    Par LineLe dans le forum ASP
    Réponses: 5
    Dernier message: 12/09/2003, 13h05

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