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 :

Problème avec checkbox - cases cochées par défaut avec formulaire


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 93
    Points : 34
    Points
    34
    Par défaut Problème avec checkbox - cases cochées par défaut avec formulaire
    Bonjour à tous,

    J'aimerais que les cases de mes checkbox restent cochées même si le formulaire n'a pas été complètement validé de manière à ce que l'utilisateur n'ait pas à les cocher une seconde fois.

    J'ai appliqué la fonction mysql_fetch_assoc qui permet qu'à chaque nouvelle entrée dans la base de donnée une nouvelle case dans la checkbox se créée.

    Par exemple, si je rentre dans ma table "demande" les attributs "id" = "1" et "nom" = "site internet", le formulaire créé automatiquement la case à cocher avec le nom correspondant.

    Pour réaliser ce que je veux il me semble nécessaire de mettre une "value" pour chaque case de la checkbox de manière à pouvoir les distinguer chacune mais pour mon cas on ne peut attribuer de value qu'à une seule ligne (voir fichier formulaire.php ci dessous). Je pense pouvoir résoudre mon problème avec une boucle "for" mais je ne sais pas comment l'intégrer à la fonction mysql_fetc_assoc.

    Voici des extraits de mes deux fichiers

    Fichier formulaire.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
     
    	<fieldset style="margin:25px">
    	<legend><b>Vos informations</b></legend>
    	<table>
     
    		<tr>
    			<td width="250"><label for="site[]">Comment avez vous connu le site ?</label></td>
    			<td>
    			<?php while($aData = mysql_fetch_assoc($qSite)){ ?>
    				<input type="checkbox" name="site[]" value="<?php echo $aData['id']; ?>" /> <label><?php echo $aData['n_site']; ?></label>
    			<?php } 
    				if (empty($aSite)) {
    				echo "  => Veuillez préciser comment vous avez connu le site!"."</br>";
    			}?>
    			</td>
    		</tr>
     
    		<tr>
    			<td width="250"><label for="demande[]">Quelles sont vos demandes de site ?</label></td>
    			<td>
    			<?php while($aData = mysql_fetch_assoc($qDemande)){ ?>
    				<input type="checkbox" name="demande[]" value="<?php echo $aData['id']; ?>" <?php if(!empty($aDemande)) echo 'checked="checked"'; ?>/> <label><?php echo $aData['n_demande']; ?></label>
    			</td>
    			<?php } 
    				if (empty($aDemande)) {
    				echo "</br>"."  => Veuillez préciser votre demande de site!"."</br>";
    			}?>
    		</tr>
     
    	</table>
    	</fieldset>
    Fichier 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
    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
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
     
    <?php
     
    //------------------------------------------------------
    		//Déclaration des variables à poster dans le formulaire
     
     
    		$aSite=$_POST['site'];
    			if(isset($aSite)){array_map("htmlentities", $aSite);}
     
    		$aDemande=$_POST['demande'];
    			if(isset($aDemande)){array_map("htmlentities", $aDemande);}
     
    		// Traitement des données du formulaire
     
    	/**
         * 
         * Si formulaire posté Alors
         * 		Si données valide Alors
         * 			enregistrer en base de donnée et dire que ça marche uniquement le message, le formulaire doit disparaitre ! 
         * 		Sinon
         * 			Afficher le formulaire avec les valeurs que l'utilisateur a inscrite + message que tous les champs ne sont pas valides
         * 		Fin Si
         * Fin Si
         * 
         */
     
     
    			if(isset($_POST['valider'])){
     
    			if (isset($aSite) && isset($aDemande)){
     
    				$etat='envoi'; // envoi des données à la bdd avec message de validation
    			}
     
    //----------------------------------------------------------------------------
    			// Gestion affichage des checkbox site et demande dans formulaire et dans bdd
     
    				//site
     
    	    	$sSQL = "SELECT n_site FROM site ORDER BY n_site" ;
    			$qSite = mysql_query($sSQL);
     
     
    			$sSQLSite = "SELECT * FROM site ORDER BY n_site";
    			$qSite = mysql_query($sSQLSite);
     
     
    				//demande
     
        		$sSQL = "SELECT n_demande FROM demande ORDER BY n_demande" ;
    			$qDemande = mysql_query($sSQL);
     
    			$sSQLDemande = "SELECT * FROM demande ORDER BY n_demande";
    			$qDemande = mysql_query($sSQLDemande);
     
    //----------------------------------------------------------------------------
    			// Cas état envoi
     
    	if($etat=='envoi'){ // si toutes les données sont remplies et valides
           //Requetes pour insertion des données dans la base si elles sont toutes valides
     
    		    $sql = "INSERT INTO formulaire(id, nom, prenom, adresse, code_postal, ville, telephone, fax, email, devis, contact) 
    	    	VALUES('','$nom','$prenom','$adresse','$code_postal','$ville','$telephone','$fax','$email', '$devis', '$contact')";
    	   		mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
     
    		  	$id_formulaire = mysql_insert_id();// on récupère l'id_formulaire qui vient d'être généré
     
     
    		if(isset($aSite)){
    			foreach($aSite as $n_site){
     
    	        $sql = "INSERT INTO siteformulaire(id_formulaire, id_site) VALUES ('$id_formulaire','$n_site')";
    	        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
    				}
    			}
     
    		if(isset($aDemande)){
    			foreach($aDemande as $n_demande){
     
    			$sql = "INSERT INTO demandeformulaire(id_formulaire, id_demande) VALUES ('$id_formulaire','$n_demande')";
    	        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
    				}
    			}
     
              echo "les données ont été envoyées à la base de données";
              ?></br><a href="index.php?page=p_accueil.php">Revenir à l'accueil</a><?php
     
              }
     
    	}
     
    ?>
    Remarque : j'ai complété le code concernant la deuxième checkbox de formulaire.php (avec $aDemande) sans pouvoir dégager le moindre résultat si ce n'est que lorsque l'on coche par exemple une case ou deux sur les trois présentes, toutes sont finalement cochées par défaut lorsque l'on souhaite valider le formulaire. Par contre, j'ai laissé telle qu'elle la première checkbox de formulaire.php (avec $aSite).

    N'hésitez pas à me dire ce que vous en pensez car je ne suis pas sûr que cela soit réalisable qu'avec php. Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    tes explications sont trop compliquées ...
    donne un exemple simple.

    1/ comment fabriques-tu la liste des checkbox ?
    -> d'une table de la Bd ? nom + structure + contenu (exemple de contenu) ?

    2/ pour chaque utilisateur, tu enregistre quoi ? $aData['n_demande'] contient quoi ?

  3. #3
    Invité
    Invité(e)
    Par défaut
    Un extrait des tables serait plus clair que ce long discours ...

    et on ne sait toujours pas : $aData['n_demande'] contient quoi ?

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 93
    Points : 34
    Points
    34
    Par défaut
    Voilà un exemple avec les trois tables concernées

    Table "formulaire" (tient sur deux lignes)

    id nom prenom adresse code_postal ville
    1 robert jean-paul 58 routes de suippes 75000 PARIS


    telephone fax email client devis contact
    0396857896 0456985236 jean@gmail.fr 0 1 1



    Table "demandeformulaire" (table intermédiaire)

    id_formulaire id_demande
    1 1
    1 2
    1 3




    Table "demande"

    id n_demande
    1 promotionnel
    2 site de pr&eacute;sentation
    3 e-commerce

  5. #5
    Invité
    Invité(e)
    Par défaut
    et donc ... ?
    quel résultat est-on censé obtenir à partir de ca ?
    a quoi devrait ressembler le code html du formulaire généré ?

    tu as 3 checkbox, cochée pour cet utilisateur, c'est ca ?
    - checkbox cochée : promotionnel
    - checkbox cochée : site de pr&eacute;sentation
    - checkbox cochée : e-commerce

    Donc, où est le problème ?


    PS : je t'avais dit dans une autre discussion de mettre des noms explicite et sans équivoque (pour éviter les riques de confusion)
    Dans tes tables, tu nommes 2 fois id
    Ca ne va pas simplifier les explications ....

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 93
    Points : 34
    Points
    34
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    et donc ... ?
    quel résultat est-on censé obtenir à partir de ca ?
    a quoi devrait ressembler le code html du formulaire généré ?
    Excuse moi, je t'ai mis le résultat de toutes les tables lorsqu'un premier utilisateur valide ses données mais au départ il n'y a que la table demandeformulaire de préremplie, les autres tables mises ici se remplissent si tous les champs du formulaire sont validés sinon elles sont bien vides

  7. #7
    Invité
    Invité(e)
    Par défaut
    Table "demande" : c'est la table de TOUTES les OPTIONS POSSIBLES ou pas ???

    C'est à partir de cette table que tu affiches TOUTES les checkbox que tu proposes à l'utilisateur ?

    Rappel :
    "Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 93
    Points : 34
    Points
    34
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    et donc ... ?
    quel résultat est-on censé obtenir à partir de ca ?
    a quoi devrait ressembler le code html du formulaire généré ?

    tu as 3 checkbox, cochée pour cet utilisateur, c'est ca ?
    - checkbox cochée : promotionnel
    - checkbox cochée : site de pr&eacute;sentation
    - checkbox cochée : e-commerce

    Donc, où est le problème ?


    PS : je t'avais dit dans une autre discussion de mettre des noms explicite et sans équivoque (pour éviter les riques de confusion)
    Dans tes tables, tu nommes 2 fois id
    Ca ne va pas simplifier les explications ....
    Oui les 3 checkbox sont bien cochées. Le problème vient que je souhaiterais remettre les cases des checkbox par défaut si elles sont déjà cochées même si le formulaire n'a pu être envoyé une première fois de manière à ce que l'utilisateur n'ait pas à les recocher une seconde fois. C'est facile d'obtenir ce résultat avec des radioboutons et des champs texte car chaque champ a une value mais dans mon cas les champs sont générés avec mysql_fetc_assoc.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 93
    Points : 34
    Points
    34
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Table "demande" : c'est la table de TOUTES les OPTIONS POSSIBLES ou pas ???

    C'est à partir de cette table que tu affiches TOUTES les checkbox que tu proposes à l'utilisateur ?

    Rappel :
    Oui c'est à partir d'elle que sont générées les checkbox "demande" du formulaire.

  10. #10
    Invité
    Invité(e)
    Par défaut
    Puisqu'elle sont FORCEMENT COCHEE, tu rajoutes : checked="checked" !

    Je dois être fatigué. Je ne comprends toujours pas où est ton problème.

    Quand tu sauras exprimer clairement le problème ... il sera à 99% résolu.

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 93
    Points : 34
    Points
    34
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Puisqu'elle sont FORCEMENT COCHEE, tu rajoutes : checked="checked" !

    Je dois être fatigué. Je ne comprends toujours pas où est ton problème.
    j'ai bien rajouté checked="checked" dans formulaire.php par rapport à la variable $aDemande mais le résultat est que toutes les cases sont cochées et non juste celles que l'utilisateur a effectivement coché. Autrement dit il n'y a pas de reconnaissance des cases à cocher (de "value") car aucune distinction n'est faite entre chacune d'elle.

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 93
    Points : 34
    Points
    34
    Par défaut
    En fait si par exemple, l'utilisateur coche tous les champs du formulaire excepté le champ nom par exemple, il soumet le formulaire mais ce dernier n'est pas validé. Je veux donc que les checkbox cochées soit remises par défaut et qu'elles ne redeviennent pas vides comme c'est le cas dans mon code de manière à ce que l'utilisateur doive juste saisir son nom et le formulaire peut ainsi être validé.

  13. #13
    Invité
    Invité(e)
    Par défaut
    "Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement."
    Albert Einstein, Génie (1879-1955)

  14. #14
    Invité
    Invité(e)
    Par défaut
    ... l'utilisateur coche tous les champs du formulaire ...
    COMMENT FABRIQUES-TU CE FORMULAIRE ?????
    - comment affiches-tu les checkbox ???
    - quel est le code (php)
    - quel est la source générée (html)

    Je suis sûr que la solution est simple, mais tu ne donnes pas les bonnes informations !

  15. #15
    Invité
    Invité(e)
    Par défaut
    Voila un bout de code "perso". Voit si ca correspond à ton idée :
    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
    		$acti_query = "SELECT * FROM ".$TAB_CHX_ACTI_ACT." ORDER BY nom_activite ASC;";
    		// liste de toutes les activites
    		$acti_result = mysql_query($acti_query) or die('Erreur SQL :<br />'.$acti_query.'<br />'.mysql_error());
    		$acti_nbre = mysql_num_rows($acti_result);
    		$acti_i = 0;
    		if ($acti_result) {
    		 while ($acti_row = mysql_fetch_array($acti_result)) {
    		 	$actiCheck = '';
    		 	// activites du cheval : $activites est de la forme 1,3,8,13 (liste d'id des activites)
    		 	if($activites!='')
    		 	{
    		 		$acti_query = "SELECT * FROM ".$TAB_CHX_ACTI_ACT." AS ACT WHERE id_activite=".$acti_row['id_activite']." AND id_activite IN (".$activites.");";
    		 		$acti_result = mysql_query($acti_query);
    		 		$acti_nombre = mysql_num_rows($acti_result);
    					$actiCheck = ($acti_nombre >= 1)? ' checked="checked"' : '';
    			}
    ?>		<input type="checkbox" id="idactivites<?php echo $acti_i; ?>" name="activites[]" value="<?php echo $acti_row['id_activite']; ?>"<?php echo $actiCheck; ?> />
    		<label for="idactivites<?php echo $acti_i; ?>" style="padding:0 10px 0 0;"><?php echo $acti_row['nom_activite']; ?></label>
    <?php		$acti_i++;
    			// passage a la ligne
    			if($acti_i==5) { echo '<br /><label class="label100">&nbsp;</label>'; }
    		 }
    		 mysql_free_result($acti_result);
    		}
    Dernière modification par Invité ; 18/08/2011 à 20h13.

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 93
    Points : 34
    Points
    34
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    COMMENT FABRIQUES-TU CE FORMULAIRE ?????
    - comment affiches-tu les checkbox ???
    - quel est le code (php)
    - quel est la source générée (html)

    Je suis sûr que la solution est simple, mais tu ne donnes pas les bonnes informations !
    Les checkbox sont affichées avec le code du fichier traitement.php. Ce code php est situé dans l'encart "Gestion affichage des checkbox site et demande dans formulaire et dans bdd". Il est transmis alors à formulaire.php qui recherchent dans la bdd les données existantes et les affichent.

  17. #17
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 93
    Points : 34
    Points
    34
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Voila un bout de code "perso". Voit si ca correspond à ton idée :
    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
    		$acti_query = "SELECT * FROM ".$TAB_CHX_ACTI_ACT." ORDER BY nom_activite ASC;";
    		// liste de toutes les activites
    		$acti_result = mysql_query($acti_query) or die('Erreur SQL :<br />'.$acti_query.'<br />'.mysql_error());
    		$acti_nbre = mysql_num_rows($acti_result);
    		$acti_i = 0;
    		if ($acti_result) {
    		 while ($acti_row = mysql_fetch_array($acti_result)) {
    		 	$actiCheck = '';
    		 	// activites du cheval : $activites est de la forme 1,3,8,13 (liste d'id des activites)
    		 	if($activites!='')
    		 	{
    		 		$acti_query = "SELECT * FROM ".$TAB_CHX_ACTI_ACT." AS ACT WHERE id_activite=".$acti_row['id_activite']." AND id_activite IN (".$activites.");";
    		 		$acti_result = mysql_query($acti_query);
    		 		$acti_nombre = mysql_num_rows($acti_result);
    					$actiCheck = ($acti_nombre >= 1)? ' checked="checked"' : '';
    			}
    ?>		<input type="checkbox" id="idactivites<?php echo $acti_i; ?>" name="activites[]" value="<?php echo $acti_row['id_activite']; ?>"<?php echo $actiCheck; ?> />
    		<label for="idactivites<?php echo $acti_i; ?>" style="padding:0 10px 0 0;"><?php echo $acti_row['nom_activite']; ?></label>
    <?php		$acti_i++;
    			// passage a la ligne
    			if($acti_i==5) { echo '<br /><label class="label100">&nbsp;</label>'; }
    		 }
    		 mysql_free_result($acti_result);
    		}

    N'arrivant pas à faire ce que je veux, j'ai appliqué mon problème suivant l'exemple que tu m'as donné. Voici les extraits des deux fichiers pour la checkbox "demande".

    Fichier traitement.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    	    	$sSQL = "SELECT n_site FROM site ORDER BY n_site" ;
    			$qSite1 = mysql_query($sSQL);
    			$site_nbre = mysql_num_rows($qSite1);
     
    			$sSQLSite = "SELECT * FROM site  ORDER BY n_site";
    			$qSite2 = mysql_query($sSQLSite);
    Fichier formulaire.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
     
    		<tr>
    			<td width="250"><label for="site[]">Comment avez vous connu le site ?</label></td>
    			<td>
    			<?php
    		$i = 0;
    		if ($qSite1) {
    		 while ($site_row = mysql_fetch_array($qSite1)) {
    		 	$siteCheck = '';
    		 	// activites du cheval : $activites est de la forme 1,3,8,13 (liste d'id des activites)
    		 	if($sites!='')
    		 	{
    		 			$site_nombre = mysql_num_rows($qSite2);
    					$siteCheck = ($site_nombre>=1)? ' checked="checked"' : '';
    			}		
    	?>
    				<input type="checkbox" id="idsite<?php echo $i; ?>" name="site[]" value="<?php echo $site_row['id'];?>"<?php echo $siteCheck; ?> /> 
    				<label for="idsite<?php echo $i; ?>"><?php echo $site_row['n_site']; ?></label >
    			<?php $i++;
    		 		}
    			}
     
    		 ?>		
     
    			</td>
    		</tr>
    Le code ne marche pas pour mon cas car les cases à cocher restent vides lorsque l'envoi du formulaire est effectué mais que certaines données ne sont pas valides. Je ne comprends pas d'ailleurs tout le codage.

    Pour reprendre depuis le début, mon formulaire fonctionne de la façon suivante. Soit les données sont toutes validées et le formulaire disparaît et fait place à un message de succès soit les données ne sont pas toutes valides et le formulaire reste à l'écran avec un message en dessous invitant l'utilisateur à rentrer les données non valides, les données validés restent par défaut dans le formulaire et l'utilisateur n'a donc qu'à ressaisir que les données non valides (j'ai pu appliquer ce cas à des champs de type texte et de type radiobouton mais les checkbox me posent toujours problèmes).

  18. #18
    Invité
    Invité(e)
    Par défaut
    Trop drôle !
    la SEULE ligne de commentaire dans le code, c'est ... la mienne !

    Sérieux : met des commentaires dans ton code !!

    Je suis sûr que tu te rendrais compte de l'erreur !

    A quoi servent tes 2 requetes ??

    ps : tu sais ce que c'est, du code source généré ? ou pas ?

    Sur ce, bonne nuit, je suis fatigué ...

  19. #19
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 93
    Points : 34
    Points
    34
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Trop drôle !
    la SEULE ligne de commentaire dans le code, c'est ... la mienne !

    Sérieux : met des commentaires dans ton code !!

    Je suis sûr que tu te rendrais compte de l'erreur !

    A quoi servent tes 2 requetes ??

    ps : tu sais ce que c'est, du code source généré ? ou pas ?
    Pour tout te dire je suis vraiment très nul en algo. Fin je pense que tu t'en ai rendu compte Les deux requêtes servent à sélectionner tous les champs de la table 'site' de manière à compter le nombre d'enregistrement. Sinon non je ne saurais pas te dire exactement ce que signifie "code source généré".

  20. #20
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 93
    Points : 34
    Points
    34
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Trop drôle !
    la SEULE ligne de commentaire dans le code, c'est ... la mienne !

    Sérieux : met des commentaires dans ton code !!

    Je suis sûr que tu te rendrais compte de l'erreur !

    A quoi servent tes 2 requetes ??

    ps : tu sais ce que c'est, du code source généré ? ou pas ?

    Sur ce, bonne nuit, je suis fatigué ...
    Salut,

    Je ne veux pas abuser, mais j'aimerais bien pouvoir résoudre mon problème. Le tout c'est de pouvoir se comprendre. Je repars de plus simple donc. Les deux parties de fichier présentées ci dessous font référence à la checkbox "demande".

    Fichier formulaire.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    		<tr>
    			<td width="50"><label for="demande[]">Quelles sont vos demandes de site ?</label></td>
    			<td>
    			<?php 
    			while($aData = mysql_fetch_array($qDemande)){ 
     
    				?>
    				<input type="checkbox" name="demande[]" value="<?php echo $aData['id'];?>"/> <label><?php echo $aData['n_demande']; ?></label>
    			<?php }?>
     
    			</td>
    		</tr>
    Fichier traitement.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    			$sSQLDemande = "SELECT * FROM demande ORDER BY n_demande";
    			$qDemande = mysql_query($sSQLDemande);
    On est bien d'accord, ce code ne permet que de rechercher les valeurs inscrites dans la table demande et de créer les cases à cocher correspondantes dans le formulaire. Le code fonctionne correctement, rien à redire là dessus.

    Or moi je voudrais que soit également géré le fait que ces checkbox restent cochées ou non lorsque l'utilisateur les remplit mais que certains champs restent vides à l'envoi du formulaire. Ces champs concernent des champs texte, des radioboutons (soit oui soit non) et des cases à cocher (une seule case au minimum à cocher parmi tous les choix).

    Hypothèse : Je pense qu'il faut créer une requête qui permette de distinguer si la case ou les cases ont été cochées ou non et si c'est le cas elle(s) le reste(nt) lorsque le formulaire est envoyé et réaffiché avec message d'erreur puisque les données ne sont pas toutes valides.

    Lorsqu'une case à cocher est créée dans le formulaire, je voudrais qu'elle soit à l'état non cochée mais que si l'utilisateur la coche dans le formulaire elle le reste au réaffichage du formulaire. Dis moi si je suis clair et si ça n'est pas le cas je te réexplique.

Discussions similaires

  1. Problème d'encodage par défaut avec Eclipse/Pydev
    Par Tryph dans le forum Eclipse
    Réponses: 2
    Dernier message: 12/07/2014, 23h48
  2. Problème de test par défaut avec Maven
    Par Smix007 dans le forum Maven
    Réponses: 10
    Dernier message: 12/05/2012, 05h05
  3. Réponses: 1
    Dernier message: 27/01/2010, 12h00
  4. Bouton par défaut avec MessageDlg ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 5
    Dernier message: 23/04/2005, 19h28
  5. Réponses: 9
    Dernier message: 12/01/2005, 17h00

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