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 :

cases à cocher


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 cases à cocher
    Bonsoir tout le monde,

    Voici mon problème, j'ai une page php qui affiche les données de ma base de données. Pour insérer les données, on peut appeler depuis cette page un formulaire (autre page php). Jusque là pas de problème.

    Il y a également la possibilité d'afficher le même formulaire pour éditer un enregistrement ... seulement voilà, problème, les champs textes reviennent bien ... mais les cases à cocher qui étaient cochées demeurent vides !!

    Voici mon code en parties :

    Formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <form action="listmeetings.php" method="post" name="FormName">
    			<p align="left"></p>
    				<p align="left">Entrez les donn&eacute;es d'une inscription :</p>
    				<table width="765" border="0" align="left" cellpadding="0" cellspacing="0">
    				  <tr>
    				    <td width="765"><p>
    				      <input name="randoVTT" type="checkbox" id="randoVTT" value="randoVTT">
    (On voit ici la première case à cocher ... par contre pour les champs texte, j'ai mis des value du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?=stripslashes(@$row["randoVTTnoms"])?>
    )

    La page qui appelle 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
    if (@$_GET["action"] == "edit") {
        $sql  ="SELECT *  FROM `inscript` WHERE `ID` =".$_GET["id"];
    	$res = $con->sendSql($sql);
    	$row = mysql_fetch_array($res, MYSQL_ASSOC);
    	$action = "editExec";
    	include "formmeetings.php";
    }
    if (@$_POST["action"] == "editExec") {
        foreach($_POST as $k => $v){
    		$p[$k] = addslashes($v);
    	}
    	$sql = "UPDATE `inscript` SET 
       	`randoVTT` = '".$p["randoVTT"]."',
    	`randoVTTnoms` = '".$p["randoVTTnoms"]."',
    	`familleVTT` = '".$p["familleVTT"]."',
    	`familleVTTnoms` = '".$p["familleVTTnoms"]."',
    	`coursemoins12` = '".$p["coursemoins12"]."',
    	`courseplus12` = '".$p["courseplus12"]."',
    	`courseplus12noms` = '".$p["courseplus12noms"]."',
    	`courseVTT10a15` = '".$p["courseVTT10a15"]."',
    	`courseVTT10a15noms` = '".$p["courseVTT10a15noms"]."',
    	`conference` = '".$p["conference"]."',
    	`nbpersonnes` = '".$p["nbpersonnes"]."',
    	`conferencenoms` = '".$p["conferencenoms"]."',
    	`volontaires` = '".$p["volontaires"]."',
    	`volontairesnoms` = '".$p["volontairesnoms"]."',
    	`adresse` = '".$p["adresse"]."',
    	`ville` = '".$p["ville"]."',
    	`telephone` = '".$p["telephone"]."',
    	`mail` = '".$p["mail"]."',
    	`Divers` = '".$p["Divers"]."'
    	WHERE `ID` = ".$p["id"]." LIMIT 1;";
    	$con->sendSql($sql);
    Et après chaque ligne d'enregistrement, j'appelle une fonction d'édition :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?
    			if ($_SESSION["user"]["droits"][1] == 1) {
    			   echo '<A href="listmeetings.php?action=edit&id='.$row["id"].'">Editer</A> &nbsp;&nbsp;';
    			}
    			if ($_SESSION["user"]["droits"][2] == 1) {
    			   echo '<A href="listmeetings.php?action=del&id='.$row["id"].'">Supprimer</A>';
    			}
    		?>
    Mais à mon avis ... le problème se situe dans le formulaire ... ou alors il me manque qqpart quelque chose du type : si la valeur de la case = randoVTT alors case = checked.

    D'avance merci pour votre aide

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo '<input name="randoVTT" type="checkbox" id="randoVTT" value="randoVTT" ';
    if($taVariable == 'RandoVTT') echo 'checked';
    echo ' />';
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    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 re
    Merci pour la réponse, je m'imaginais bien qqch comme ça, mais je ne suis pas très doué ...

    Ce code je dois le placer dans le fichier qui appelle le formulaire c'est bien juste ?
    Mais ... le problème est que je n'ai pas de variable sur les cases à cocher ... c'est encore là que je suis un peu perdu

  4. #4
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Ta première requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql  ="SELECT *  FROM `inscript` WHERE `ID` =".$_GET["id"]
    récupère les infos déjà stockées en base de données.
    Je suppose que dans le (
    include "formmeetings.php", tu affectes aux différents objets de ton formulaire les valeurs que tu as récupérées non ?
    Donc tu peux affecter la valeur de la colonne 'randoVTT' à une variable et la tester par le code que je t'ai proposé ou directement tester le contenu de la colonne sans passer par une variable.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 972
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 972
    Par défaut
    Histoire de compléter le code de Cinéphil :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo '<input name="randoVTT" type="checkbox" id="randoVTT" value="randoVTT" ';
    if($taVariable == 'RandoVTT') echo 'checked="checked"';
    echo ' />';

    Ceci passera mieux à la validation XHTML

  6. #6
    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 re
    Bon ... eh bien j'ai ajouté le bout de code dans le formulaire directement, puisque cette case à cocher n'est affichée que dans le formulaire !

    Voici le code que j'ai affiché :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     <?echo '<input name="randoVTT" type="checkbox" id="randoVTT" value="randoVTT" ';
    if($p["randoVTT"] == 'RandoVTT') echo 'checked="checked"';
    echo ' />';?>
    Parce que je récupère mes valeurs dans la forme suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $sql = "INSERT INTO `inscript` (`randoVTT`, `randoVTTnoms`, `familleVTT`, `familleVTTnoms`, `coursemoins12`, `coursemoins12noms`, `courseplus12`, `courseplus12noms`, `courseVTT10a15`, `courseVTT10a15noms`, `conference`, `nbpersonnes`, `conferencenoms`, `volontaires`, `volontairesnoms`, `adresse`, `ville`, `telephone`, `mail`, `Divers`) 
    	VALUES ( '".$p["randoVTT"]."', '".$p["randoVTTnoms"]."', '".$p["familleVTT"]."', '".$p["familleVTTnoms"]."', '".$p["coursemoins12"]."', '".$p["coursemoins12noms"]."', '".$p["courseplus12"]."', '".$p["courseplus12noms"]."', '".$p["courseVTT10a15"]."', '".$p["courseVTT10a15noms"]."', '".$p["conference"]."', '".$p["nbpersonnes"]."', '".$p["conferencenoms"]."', '".$p["volontaires"]."', '".$p["volontairesnoms"]."', '".$p["adresse"]."', '".$p["ville"]."', '".$p["telephone"]."', '".$p["mail"]."', '".$p["Divers"]."')";
    	$con->sendSql($sql);
    Seulement voilà ... toujours pas de case cochée ... mais la case est bien affichée
    J'ai bien peur que je me mélange complètement les pinceaux

Discussions similaires

  1. [MIGRATION] champ de type "case à cocher"
    Par The_Nail dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 10/05/2011, 11h07
  2. Case à cocher dans une requête
    Par kloss dans le forum Access
    Réponses: 6
    Dernier message: 14/10/2004, 11h44
  3. Récupérer toutes les cases à cocher
    Par psyco2604 dans le forum ASP
    Réponses: 7
    Dernier message: 14/10/2004, 10h54
  4. Activer cases à cocher
    Par schnito dans le forum MFC
    Réponses: 4
    Dernier message: 24/01/2004, 16h07
  5. [CR] Création de tableau et case à cocher
    Par aysse dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 26/11/2003, 17h07

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