Portail PHP

Forum de discussion et d'aide au php

Vous n'êtes pas identifié.

Annonce

Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides.
FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans.
Proposez vos news : si vous avez un evenement à annoncer
le chat : venez discuter de php.
 

#1 13-06-2005 03:18:26

Had
Membre
Date d'inscription: 08-06-2005
Messages: 35

[Résolu] checkbox et base de données

Bonjour,

J'aimerais savoir coment récupérer la valeur d'une checkbox pour la mettre dans une base de données, j'ai un formulaire où il ya un choix si un client posséde un contrat et/ou des tickets mais je ne sais pas comment reconnaitre si le checkbox a été coché ou non pour ensuite mettre l'infos ds la bdd.

Code:

<tr>
<td align="right" width="130px">Contrat</td>
<td><Input type="checkbox" name="contrat_mnt" value=1></td>
</tr>

<tr>
<td align="right" width="130px">Nb Postes</td>
<td><input type="text" size="5" name="nb_poste_mnt"></td>
</tr>

<tr>
<td align="right" width="130px">Date</td>
<td><input  name="date" type="text" size="19" maxlength='10'></td>                
</tr>


<tr>
<td align="right" width="130px">Tickets</td>
<td><Input type="checkbox" name="ticket_mnt" value=1></td>
</tr>

<tr>
<td align="right" width="130px">Nb tickets acheté :</td>
<td><input type="text" size="5" name="nb_ticket_achete"></td>
</tr>

Je sais qu'il existe l'attribut checked mais je ne voit pas comment l'utiliser ici. Je ne sais pas non plus a quoi correspond le

Code:

value=1

Hors ligne

 

#2 13-06-2005 04:20:14

palmivore
Modérateur global
Lieu: 49 - Maine et Loire
Date d'inscription: 07-04-2005
Messages: 1783
Site web

Re: [Résolu] checkbox et base de données

salut,

en fait, si la checkbox est cohée, tu auras une variable post du nom de ta checkbox avec la valeur value.

Si la case n'est pas cochée, la variable n'aura pas la valeur.

Hors ligne

 

#3 13-06-2005 04:28:51

Had
Membre
Date d'inscription: 08-06-2005
Messages: 35

Re: [Résolu] checkbox et base de données

Donc je peux faire (si le nom de la checkbox est checkbox)

Code:

$checkbox = $_REQUEST["checkbox"]

et mettre la valeur de $checkbox ds la bdd?

Hors ligne

 

#4 13-06-2005 05:01:51

palmivore
Modérateur global
Lieu: 49 - Maine et Loire
Date d'inscription: 07-04-2005
Messages: 1783
Site web

Re: [Résolu] checkbox et base de données

oui mais plutôt que _REQUEST, utilises plutot _POST tu auras moins de chance d'avoir des comportements étranges a cause de deux variables de même nom.

Hors ligne

 

#5 13-06-2005 05:15:57

Had
Membre
Date d'inscription: 08-06-2005
Messages: 35

Re: [Résolu] checkbox et base de données

j'ai donc fait ceci

Code:

<tr>
<td align="right" width="130px">Contrat</td>
<td><Input type="checkbox" name="contrat_mnt"></td>
</tr>

Ensuite ds la requete :

Code:

$contrat_mnt = $_POST["contrat_mnt"];

et ds la meme page

Code:

$sql = "insert into client (CONTRAT) values ('$contrat_mnt')

Puis ds la page détail pour afficher l'information :

Code:

<tr>
<td align="right" width="130px">Contrat</td>
<td><Input type="checkbox" disabled name="contrat_mnt" value='<?=$clients["CONTRAT"]?>'></td>
</tr>

Mais la checkbox n'est jamais cochée

Hors ligne

 

#6 13-06-2005 05:29:29

palmivore
Modérateur global
Lieu: 49 - Maine et Loire
Date d'inscription: 07-04-2005
Messages: 1783
Site web

Re: [Résolu] checkbox et base de données

Dans ton premier code, il faut donner une valeur a ton champ input (value='valeur_si_coché')

dans le dernier code, tu as mis ton champ en disabled, c'est normal ? c'est pour qu'il ne soit pas modifié ? Dans ce cas pourquoi ne pas faire simplement

Code:

if($clients['TICKET'] != "") { echo "Vous avez un contrat"; }

?

Hors ligne

 

#7 13-06-2005 05:36:08

Had
Membre
Date d'inscription: 08-06-2005
Messages: 35

Re: [Résolu] checkbox et base de données

Oui c'est juste une page d'aperçu des informations donc disabled, mais pour la page de modification il n'y a pas de disabled, c'est le patron qui veux ça comme ça  smile

Hors ligne

 

#8 13-06-2005 05:38:44

palmivore
Modérateur global
Lieu: 49 - Maine et Loire
Date d'inscription: 07-04-2005
Messages: 1783
Site web

Re: [Résolu] checkbox et base de données

Si c'est le chef qui demande alors big_smile

Hors ligne

 

#9 13-06-2005 05:45:04

Had
Membre
Date d'inscription: 08-06-2005
Messages: 35

Re: [Résolu] checkbox et base de données

Merci ça roule maintenant!

Hors ligne

 

#10 13-06-2005 06:06:17

Had
Membre
Date d'inscription: 08-06-2005
Messages: 35

Re: [Résolu] checkbox et base de données

Un dernier petit truc, ya pas qque chose qui est l'inverse de value='valeur_si_coché' parce que si par exemple j'ai mis value=1 mais que rien n'est coché il n'envoir rien donc ça créé une erreur car le $_POST ne reçoit rien

Hors ligne

 

#11 13-06-2005 06:13:35

palmivore
Modérateur global
Lieu: 49 - Maine et Loire
Date d'inscription: 07-04-2005
Messages: 1783
Site web

Re: [Résolu] checkbox et base de données

en effet,

Tu ne verras l'erreur Notice que sur ton serveur de développement (normalement).

Sinon, pour la faire disparaitre, c'est assez simple :

Code:

if((isset($_POST['contrat_mnt'])) && ($_POST['contrat_mnt'] != "")) { // La case est cochée
$contrat_mnt = $_POST['contrat_mnt'];
} else { // La case n'est pas cochée
$contrat_mnt = NULL;
}

Hors ligne

 

#12 13-06-2005 06:14:41

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: [Résolu] checkbox et base de données

l'idée dans ce cas la, est de faire un input type='hidden'
tu fait ta vérification pour la validation du formulaire à ce moment la

et si la case n'est pas cochée, tu modifie la valeur de la variable

Hors ligne

 

#13 13-06-2005 06:22:16

Had
Membre
Date d'inscription: 08-06-2005
Messages: 35

Re: [Résolu] checkbox et base de données

Code:

($_POST['contrat_mnt'] ! ""))

rectification

Code:

($_POST['contrat_mnt'] != ""))

C'est parfait, encore merci smile

Hors ligne

 

#14 13-06-2005 06:25:32

palmivore
Modérateur global
Lieu: 49 - Maine et Loire
Date d'inscription: 07-04-2005
Messages: 1783
Site web

Re: [Résolu] checkbox et base de données

vi. J'avais corrigé entre temps wink

Hors ligne