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 :

Formulaire récupère données de la table pour édition [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    maf
    maf est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2003
    Messages : 76
    Par défaut Formulaire récupère données de la table pour édition
    Bonjour à tous, j'espère que vous pourrez m'aider sur mon problème.

    J'ai certaines informations sur des membres qui se trouvent dans une base de donnée, lorsque j'affiche la liste, j'ai plusieurs choix dont éditer les données d'un membre par l'intermédiaire d'un formulaire

    La page qui appelle le formulaire contient le code suivant :

    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
    if (@$_GET["action"] == "edit") {
        $sql  ="SELECT *  FROM `inscription` WHERE `ID` =".$_GET["id"];
    	$res = $con->sendSql($sql);
    	$row = mysql_fetch_array($res, MYSQL_ASSOC);
    	$action = "editExec";
    	include "formulaire.php";
     
    }
    if (@$_POST["action"] == "editExec") {
        foreach($_POST as $k => $v){
    		$p[$k] = addslashes($v);
    	}
    	$sql = "UPDATE `inscription` SET 
       	`Nom` = '".$p["Nom"]."',
    	`Prenom` = '".$p["Prenom"]."',
    	`Adresse` = '".$p["Adresse"]."',
    	`Ville` = '".$p["Ville"]."',
    	`Tel` = '".$p["Tel"]."',
    	`Mail` = '".$p["Mail"]."',
    	`c1` = '".$p["c1"]."',
            `c2` = '".$p["c2"]."'
    	WHERE `ID` = ".$p["id"]." LIMIT 1;";
    	$con->sendSql($sql);
    Les champs du formulaire prennent alors les valeurs respectives de l'enregistrement de la personne à savoir Nom, Prenom, Adresse ... dans des champs qui sont codés comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="Nom" type="text" id="Nom" value="<?=stripslashes(@$row["Nom"])?>" size="60">
    Après je peux les modifier sans problèmes en validant faisant les modifications nécessaires puis en validant le formulaire. Seul hic, le champ c1 est du type case à cocher qui dans le formulaire de base est codée comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" id="c1" name="c1" value="Présent">
    et j'aurais plusieurs cases à cocher qui auront différentes valeurs c2, c3, ...

    Quand je fais l'édition de l'enregistrement de la personne, j'aimerais que si la case a été cochée et donc que la valeur par exemple Présent pour c1 se trouve dans la base, la case à cocher se coche à nouveau ! Et ça ... mystère quant à savoir comment le faire !!
    (Imaginons que je doive modifier l'enregistrement de M. Tartanpion et que je ne coche plus c1 mais c2 et c3 pour lui ... j'aimerais avoir de prime à bord un formulaire qui s'ouvre avec c1 cochée que je vais décocher, ...)

    Merci à vous !!!!!!

  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
    Si $row['c1'] vaut ce que tu veux, tu ajoutes checked="checked" à ta case à cocher.

    Le seule subtilité à savoir pour les cases à cocher, est que si une case est decochée, elle ne renvoi rien dans le formulaire.
    Il faut donc tester isset($_POST['c1']) pour savoir si la case a été cochée ou decochée.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 17/07/2013, 08h23
  2. Réponses: 1
    Dernier message: 12/04/2010, 23h48
  3. Réponses: 4
    Dernier message: 22/05/2007, 14h42
  4. Réponses: 3
    Dernier message: 11/04/2007, 14h01
  5. Réponses: 1
    Dernier message: 26/01/2007, 08h15

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