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 valeurs dans un tableau lié a mysql [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 149
    Points : 108
    Points
    108
    Par défaut Modifier des valeurs dans un tableau lié a mysql
    Bonjour

    Je débute en PHP.

    J'aimerais connaître la méthode, pour modifier une valeur dans un tableau lié à une table MySQL.

    j'ai bien trouvé la requête ("update"), mais je n'arrive pas à comprendre comment je récupère l'ID de la ligne.

    Je voudrais cliquer sur le bouton("V") de la ligne "jaune" et que la valeur devienne "F"

    Nom : Capture.PNG
Affichages : 840
Taille : 16,0 Ko

    Merci d'avance pour votre aide

  2. #2
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Et tu en es où ?
    Tu peux nous montrer ton code PHP qui génère le tableau que tu nous montres ?
    Si tu veux rester essentiellement en PHP, tu te contentes de mettre dans la dernière cellule un code de ce genre (avec une simple redirection javascript qui passe les variables dans l'url)
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><button onclick="document.location.href='traitement.php?change_id=24&val=F';">V</button></td>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    //et dans traitement.php
    if(isset($_GET['change_id'])){
       $id=$_GET['change_id'];
       $val=$_GET['val'];
       $sql='update maTable set monChamp="'.$val.'" where id='.$id.';';
       //ensuite tu lances cette requête bien sûr 
       //à compléter
       //et enfin tu rediriges vers ta page initiale en PHP qui sera automatiquement rafraîchie
       header('location:mapage.php');
    }
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 149
    Points : 108
    Points
    108
    Par défaut
    Bonjour Dendrite
    voici mon code pour le tableau

    ("idée est active ou non un couleur, et bien sur pour les futurs requête avec les couleurs il y aura un where active = "v"")

    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
        <table border=1>
            <tr>
                <th align="center" width='100'>id</th>
                <th align="center" width='100'>couleur</th>
                <th align="center" width='100'>ordre</th>
                <th align="center" width='100'>active</th>
            </tr>      
     
        <?php
     
            if ($result = $mysqli->query("SELECT idcolor,color,ordre,active FROM color ")){
     
                if ($result->num_rows>0) {
     
                    ?>
     
                    <?php
     
                    while($data = $result->fetch_array()){
     
     
                        ?>
     
                            <tr>
                                <form type= "submit" action="color.php" method="POST">
                                <td align="center" width='100'><?php echo $data['idcolor'];?></td>
                                <td align="center" width='100'><?php echo $data['color'];?></td>
                                <td align="center" width='100'><?php echo $data['ordre'];?></td>
                                <td colspan="2"><input class="bouton"  type="submit" value="<?PHP echo $data['active']; ?>"  style="width: 150px"></td>  
     
                                </td>
                            </tr>
     
                        <?php
                    }
                    //echo
        ?>
          </form>
        </table>
     
    <?php
                }
            }
     
        ?>
    merci pour ton aide

  4. #4
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Bon ben je t'ai donné tous les éléments, tu n'as plus qu'à tester.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 149
    Points : 108
    Points
    108
    Par défaut Re
    Je n'y arrive pas
    Peux tu m'expliquer le fonctionnement du bouton

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><button onclick="document.location.href='traitement.php?change_id=24&val=F';">V</button></td>
    document.location.href='traitement.php?==>ouvrir la page traitement.php?

    change_id=24 ==> reprend l'ID de la ligne mais pourquoi 24?

    val=F'==> valeur du bouton?

  6. #6
    Membre régulier
    Homme Profil pro
    Développeur PHP
    Inscrit en
    Mai 2014
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur PHP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 37
    Points : 76
    Points
    76
    Par défaut
    Citation Envoyé par David1259 Voir le message

    change_id=24 ==> reprend l'ID de la ligne mais pourquoi 24?

    val=F'==> valeur du bouton?
    24 = un id au hasard
    change_id ->idcolor

    F est la futur valeur de active si active = F alors tu mets F dans l'url sinon V

    A dispo pour plus d'explication.

    JFFM

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 149
    Points : 108
    Points
    108
    Par défaut Re
    Bonjour

    Tout d'abord merci pour votre aide et vos explications .

    Je pense y être presque arrivé.

    Mon problème et update voici mon code

    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
        <table border=1>
            <tr>
                <th align="center" width='100'>id</th>
                <th align="center" width='100'>couleur</th>
                <th align="center" width='100'>ordre</th>
                <th align="center" width='100'>active</th>
            </tr>      
     
        <?php
     
            if ($result = $mysqli->query("SELECT idcolor,color,ordre,active FROM color ")){
     
                if ($result->num_rows>0) {
     
                    ?>
     
                    <?php
     
                    while($data = $result->fetch_array()){
     
     
                        ?>
     
                            <tr>
     
                                <td align="center" width='100'><?php echo $data['idcolor'];?></td>
                                <td align="center" width='100'><?php echo $data['color'];?></td>
                                <td align="center" width='100'><?php echo $data['ordre'];?></td>
     
                                <td><button onclick="document.location.href='traitement.php?change_id=<?php
                                echo $data['idcolor']?>&val=<?php echo $data['active'];?>'";><?php echo $data['active'];?></button></td>  
                                </td>
                            </tr>
     
                        <?php
                    }
                    //echo
        ?>
          </form>
        </table>
     
    <?php
                }
            }
    et dans traitement.php

    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
     
    <?php
    //et dans traitement.php
    if(isset($_GET['change_id'])){
     
     
     
     
       $id=$_GET['change_id']; 
     
       $val=$_GET['val'];
     
     If ($_GET['val']=='F'){
        $val = 'V';
     }
     else{
       $val = 'F'; 
     }
     
     
     
    //j'affiche les resultats pour l'essai
    ECHO $id;
    ECHO $val;
     
    //connection à la base
    include('connect/connexion.php');
     
     
    //mise en mémoire de la requete SQL de mise à jour.   
    $req=("update color set active=".$val." where idcolor='.$id.'");
     
    //Lancement de la requete
    $mysqli->query($req); 
     
       //ensuite tu lances cette requête bien sûr 
       //à compléter
       //et enfin tu rediriges vers ta page initiale en PHP qui sera automatiquement rafraîchie
     
     
    //header('location:color.php');
     
    }
     
    ?>
    pas de message erreur est aucun changement dans la base. Pourquoi le update ne fonctionne pas?

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 149
    Points : 108
    Points
    108
    Par défaut Re
    Re bonjour

    j'ai trouvé mon bug

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Avant 
    $req=("update color set active=".$val." where idcolor='.$id.'");
     
    Après
    $req=("update color set active='".$val."' where idcolor=$id");
    la valeur numériques et texte était inversé

    Merci beaucoup et bon Dimanche

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

Discussions similaires

  1. [WD10] Afficher des valeurs dans un tableau
    Par dj-julio dans le forum WinDev
    Réponses: 4
    Dernier message: 19/03/2014, 11h32
  2. Modifier des valeurs dans un tableau
    Par ibhow dans le forum Struts 1
    Réponses: 4
    Dernier message: 16/09/2009, 13h49
  3. Réponses: 3
    Dernier message: 12/06/2006, 12h04
  4. [Tableaux]Ajouter des valeurs dans un tableau
    Par Antoine1183 dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 03/04/2005, 13h41
  5. Décaler des valeurs dans un tableau
    Par sh2003 dans le forum Langage
    Réponses: 6
    Dernier message: 20/03/2004, 16h01

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