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

Langage PHP Discussion :

Besoin d'aide pour UPDATE


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    en étude de webmaster
    Inscrit en
    Février 2016
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : en étude de webmaster

    Informations forums :
    Inscription : Février 2016
    Messages : 125
    Par défaut Besoin d'aide pour UPDATE
    Bonjour.
    J'ai une page admin pour gérer la base de donnée où un INSERT et DELETE qui marche parfaitement. Par contre je ne comprend pas comment on écrit en php pour faire un UPDATE.
    le formulaire rentre bien dans les conditions, mais il n'envoie les modifications dans la base de donnée.
    Ce que je pense c'est qu'il faut mettre le UPDATE dans le post enfin je crois.
    J'avoue ne pas bien comprend comment fonctionne l'UPDATE via php.

    voila la requete sql dans le formulaire
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    if($_SERVER['REQUEST_METHOD'] == 'GET'){
     
        // variable booleene qui indiquera si on affiche ou pas le formulaire
        $affiche_formulaire = true;
     
        $message = "";
     
    }else if ($_SERVER['REQUEST_METHOD'] == 'POST') {
     
        $bdd_genre = array('aperitif', 'dessert', 'entree', 'pate', 'poisson', 'salade', 'viande');
     
        // tableau qui contiendra le récap de tout ce que la personne a posté
        $message_recapitulatif = array();
     
        // chaque erreur sera stocké comme élément de ce tableau :
        $message_erreur = array();
        /*------------------------------------------------*/
     
        if (FALSE === isset($_POST["update_prix"])){
     
            $message_erreur[] = "Pas de prix reçu";
     
        }else if (0 == strlen($_POST["update_prix"])) {
     
            $message_erreur[] = "Vous avez rien noter dans prix";
     
        }else if (is_numeric($_POST["update_prix"]) == false) {
     
            $message_erreur[] = "Vous devez noter un nombre dans prix";
     
        }else if (0 >= $_POST["update_prix"]) {
     
            $message_erreur[] = "Prix n'est pas positif";
     
        }
     
        echo print_r($_POST["update_prix"]);
     
                /*======================*/
     
        if (FALSE === isset($_POST["update_descriptif"])){
     
            $message_erreur[] = "Pas de descriptif reçu";
     
        }elseif (3 > strlen($_POST["update_descriptif"])) {
     
            $message_erreur[] = 'Descriptif trop court, mini 3 lettre';
     
        }
                /*======================*/
     
        if (FALSE == isset($_POST["update_genre"])) {
     
                $message_erreur[] = "Le genre n'existe pas";
     
        }elseif (FALSE == in_array($_POST["update_genre"], $bdd_genre)) {
     
                $message_erreur[] = "le genre choisi n'est pas dans la liste";
     
        }
                /*======================*/
     
        else {
            $prix = trim($_POST["update_prix"]);
            $descriptif = trim($_POST["update_descriptif"]);
            $genre = $_POST["update_genre"];
     
            $selects_plats = "";
            $sql_select = "SELECT id_plat FROM plat";
            $resultat_select = mysqli_query($connexion, $sql_select);
            $select_plat = mysqli_fetch_assoc($resultat_select);
            $selects_plats = $select_plat["id_plat"];
     
            $sql_update = "UPDATE plat SET prix = '".$prix."', descriptif = '".$descriptif."', genre = '".$genre."' WHERE id_plat = '".$selects_plats."'";
            $resultat_update = mysqli_query($connexion, $sql_update);
     
            $message_recapitulatif[] .= "Vos donnée enregistré sont: <br/>";
            $message_recapitulatif[] .= "Prix: ".$prix."<br/>";
            $message_recapitulatif[] .= "Descriptif: ".$descriptif."<br/>";
            $message_recapitulatif[] .= "Genre: ".$genre."<br/>";
     
        }

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Est-ce que tu fais le debugage minimum ?
    Comme par exemple que vaut $sql_update ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Homme Profil pro
    en étude de webmaster
    Inscrit en
    Février 2016
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : en étude de webmaster

    Informations forums :
    Inscription : Février 2016
    Messages : 125
    Par défaut
    Oui et ça me répond:

    UPDATE plat SET prix = '30', descriptif = 'test3', genre = 'aperitif' WHERE id_plat = ''1

    et le problème c'est qu'il met id_plat = 1 alors que normalement il devrait prendre l'id_plat du bouton de la page ou s'affiche la base de donnée.

  4. #4
    Membre confirmé
    Homme Profil pro
    en étude de webmaster
    Inscrit en
    Février 2016
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : en étude de webmaster

    Informations forums :
    Inscription : Février 2016
    Messages : 125
    Par défaut
    voila le code qui affiche la table plat
    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($plat_select = mysqli_fetch_assoc($resultat_select)){
     
        $plats_select .= 
                    '<tr>
                        <td>'.$plat_select["id_plat"].'</td>
                        <td>'.$plat_select["prix"].'</td>
                        <td>'.$plat_select["descriptif"].'</td>
                        <td>'.$plat_select["genre"].'</td>
                        <td>
                            <a class="btn waves-effect waves-light ajoumodsup" href="modif_plat_liste.php">UPDATE</a>
                            <a class="btn waves-effect waves-light ajoumodsup" href="plat_liste.php?id_suppression='.$plat_select["id_plat"].'">DELETE</a>
                        </td>
                    </tr>';
     
    };

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Ton code est difficile à lire (peu de commentaires,...)

    Peut-on voir le formulaire de modification ?

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    et le problème c'est qu'il met id_plat = 1
    Moi je vois id_plat = '' dans ce que tu nous as collé, Le 1 se ballade après.

    il devrait prendre l'id_plat du bouton
    Il n'y pas d'id dans ton bouton UPDATE, compare avec le bouton DELETE juste en dessous.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre confirmé
    Homme Profil pro
    en étude de webmaster
    Inscrit en
    Février 2016
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : en étude de webmaster

    Informations forums :
    Inscription : Février 2016
    Messages : 125
    Par défaut
    Désoler je met les commentaire quand j'ai fini le code et que ça marche, sinon je devrais le réécrire tout le temps
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <?php if($affiche_formulaire){  ?>
                                <form action="modif_plat_liste.php" method="post">
                                    <div class="row">
                                        <div class="input-field col l2">
                                            <input id="update" name="update_prix" type="text" class="validate"/>
                                            <label for="update" class="grey-text text-darken-4">UPDATE prix</label>
                                        </div>
                                        <div class="input-field col l4">
                                            <input id="update1" name="update_descriptif" type="text" class="validate"/>
                                            <label for="update1" class="grey-text text-darken-4">UPDATE descriptif</label>
                                        </div>
                                        <div class="input-field col l6">
                                            <select name="update_genre">
                                                <option value="" disabled selected>INSERT genre</option>
                                                <option value="aperitif">apertif</option>
                                                <option value="dessert">dessert</option>
                                                <option value="entree">entree</option>
                                                <option value="pate">pate</option>
                                                <option value="poisson">poisson</option>
                                                <option value="salade">salade</option>
                                                <option value="viande">viande</option>
                                            </select>
                                            <label></label>
                                        </div>
                                    </div>
                                    <div class="row">
                                        <div class="col l12">
                                            <button class="btn waves-effect waves-light" type="submit" name="action"><a class="ajoumodsup" href="modif_plat_liste.php">UPDATE</a></button>
                                        </div>
                                    </div>
                                </form>

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

Discussions similaires

  1. Besoin d'aide pour requête update
    Par RedDrMaboul dans le forum Langage SQL
    Réponses: 7
    Dernier message: 08/04/2013, 16h17
  2. SQL Server + C#, besoin d'aide pour update "non simple" avec bindingsource
    Par robertopowa dans le forum Accès aux données
    Réponses: 1
    Dernier message: 30/04/2010, 10h00
  3. Besoin d'aide pour un UPDATE un peu spécial
    Par Julien__ dans le forum Requêtes
    Réponses: 6
    Dernier message: 09/03/2009, 11h06
  4. Besoin d'aide pour requête update imbriqué
    Par nabilo_22 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 03/03/2009, 23h05
  5. Update & Delete : besoin d'aide pour finir
    Par Romuald632 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 12/02/2009, 16h07

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