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 une donnée d'une table par php


Sujet :

PHP & Base de données

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Modifier une donnée d'une table par php
    Bonjour
    Je créé actuellement un site internet ou celui ci enregistre la demande de congé des employés

    L employé rempli sa demande, le tout est enregistré dans une base de donnée ( dansla table "conges") et sur le site internet, il y a un tableau qui repertorie toute les demandes, et une colonne ou il y a "en attente ou refus ou accord de la direction"

    Or j aimerai creer une colonne "modifier" afin que je puisse accepter ou refuser la demande!

    Je pense qu'il faut utiliser la fonction "update", mais je ne vois pas quel script inscrire..

    Je pense que qd je clique sur "Modifier",il faut que j'aille sur la page modifier.php, ou il y a recuperation de l'id et que je puisse modifier le "en attente" par "refus" ou "accord"


    Mais comment faire ?

    Merci de votre aide.

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Exactement comme tu le décris, ton bouton "modifier" est un submit de formulaire avec un champ hidden contenant l'id OU un lien avec l'id en paramètre.
    Le lien ou le formulaire envoient vers une page de formulaire permettant de choisir le nouvel état (et le champ id en hidden toujours).
    Ce formulaire renvoit vers un script qui execute l'update.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Oui mais comment je recupere l' id de la ligne que je veux modifier???

    Voici le script de mon tableau:
    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
     
    <p>Voici ce qui a été enregistré: </p>
     
    	 <table class="planning">
       <tr>
           <th>Semaine</th>
    	   <th>Nom</th>
           <th>Prénom</th>
    	   	   <th>Souhait</th>
    	   <th>Avis de la direction</th>
     
       </tr>
       <?php /
    // On se connecte d'abord à MySQL :
    mysql_connect("localhost", "root", "***");
    mysql_select_db("conges");
    // On utilise la requête suivante pour récupérer les derniers messages :
    $reponse = mysql_query("SELECT * FROM conges ORDER BY semaine");
    // On se déconnecte de MySQL
    mysql_close();
    // Puis on fait une boucle pour afficher tous les résultats :
    while ($donnees = mysql_fetch_array($reponse) )
    {
     
    ?>
     
     
       <tr>
    		<td><?php echo $donnees['semaine']; ?>
    	   </td>
     
    	  <td><?php echo $donnees['nom']; ?>
    	   </td>
     
    	 <td><?php echo $donnees['prenom']; ?>
    	   </td>
     
    	<td><?php echo $donnees['souhait']; ?>
    	   </td>
     
    	   <td><?php lien vers Modifier.php; ?>
    	   </td>
    	  	</tr>
     
    	<?php
    }
     
    ?>
     
    </table>



    Mais quel script pour la page modifier.php????

  4. #4
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Je t'ai déjà repondu :
    une page de formulaire permettant de choisir le nouvel état (et le champ id en hidden toujours)

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Desolé mais je ne suis pas sur de bien comprendre!!

    Est ce que cela veut dire que dans la colonne "direction, au lieu de mettre mon lien vers modifier.php, je dois mettre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form class="identite" method="post" action="modifier.php">
     
    <input type="hidden" name="id" value="$donnees['id']" />
     
    <input type="submit" value="Modifier" />
    Puis, dans la page modifier.php, j ai juste a mettre un nouveau formulaire du type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form class="identite" method="post" action="enregistrement.php">
    <input type="hidden" name="id" value="$donnees['id']" />
    <input type="text" name="avis direction"  />
     
    <input type="submit" value="enregistrer" />
    et enfin la page enregistrement.php ou je met la commande UPDATE ?

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    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 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Ton formulaire, tu l'écris à l'intérieur de ta boucle while
    Et comme l'a dit Sabotage, tu ajoute un champ de type hidden qui indiquera l'id
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form action = "modifier.php" method = "post">
    <input type= "hidden" name = "id" value = "<?php echo $donnees['id'];?>" />
    // éventuellement d'autres champs à récupérer
    <input type = "submit" value = "modifier" />
    </form>
    Pour des raisons de sécurité il est préférable de choisir cette méthode plutôt que de passer l'id directement dans un lien.

  7. #7
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Il te manque les </form> mais oui.

    Comme je t'ai dit, pour le premier, tu peux garder un lien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<a href="modifier.php?id=' . $donnees['id'] . '"'>

  8. #8
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    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 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Oui j'avais pas vu ta réponse, mais à y repenser, pourquoi ne pas faire directement deux boutons, un pour accepter et un pour refuser. Cela t'éviterait une page intermédiaire.

  9. #9
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    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 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Pour étayer un peu ma réponse précédente, il faut savoir que dans un formulaire avec plusieurs submit, seul celui sur lequel on a cliqué renvoie sa valeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php print_r($_POST); ?>
    <form action = "#" method = "post" >
    <input type = "hidden" name = "id" value = "toto" />
    <input name="accepter" type = "submit" value="accepter" />
    <input name="refuser" type = "submit" value="refuser" />
    </form>
    Donc il te serait facile dans une même page de faire le traitement approprié suivant le submit que tu recevras dans le post.

  10. #10
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci pour votre reponse abciweb, c est vrai que votre derniere solution me parait pas mal...

    Je vais voir ce que je peux faire avec.

    Si a la place de "toto" dans ton exemple pour id je mets value = "$donnees['id']" est ce que cela me permettra de modifier l entree seulement pour la ligne voulu?

  11. #11
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    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 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Oui mais si tu ne fait pas un echo sur toute la ligne de l'input, il faudra faire afficher ta donnée en faisant
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    value="<?php echo $donnees['id'];?>"

Discussions similaires

  1. [Débutant] modifier les données d'une gridview à travers une FormView
    Par Alexandre le Grand dans le forum Entity Framework
    Réponses: 0
    Dernier message: 04/03/2014, 12h06
  2. [Toutes versions] coller les données d'une plage d'une cellule dans une cellule d'une autre feuille[VBA]
    Par arthson dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/01/2012, 18h37
  3. modifier un élément d'une form dans une méthode d'une autre form
    Par baldebaran dans le forum Windows Forms
    Réponses: 9
    Dernier message: 14/08/2009, 14h59
  4. [E-03] Insérer une image via une donnée elle même insérée par une autre
    Par Blop le bricoleur dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 24/10/2008, 17h10
  5. Réponses: 2
    Dernier message: 18/12/2006, 20h04

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