Pages : 1
#1 Le 25/09/2007, à 12:47
- abeman
checkbox et mysql...
Bonjour,
jesuis en train de dévellopper un petit site web, et j'ai un formulaire.
Dedans, j'ai entre autre une checkbox.
Ce que je veux faire, c'est que quand c'est coché, sa renvoie true, et pas coché sa renvoie false.
Ensuite, dans l'action du formulaire, je renvoie a un script php qui rentre les donnée du formulaire dans la base de donnée.
Le truc, c'est que j'arrive pas a rentrer dans la base l'état du checkbox (en bool).
Comment je peux faire? J'ai cherché sur google, mais je vois pas.
On peut le faire en récupérant la viariable avec la méthode post?
Merci
<html>
<body>
<form action="inserer.php" method="post" >
<textarea name="matos" rows="2" cols="0"></textarea>
<input type="checkbox" name="dispo">
<button name="INSERER" value="ok" type="submit"></button>
</form>
</body>
</html>
<?
$db = mysql_connect('localhost', 'user', 'pass');
mysql_select_db('test',$db);
// récupération des données du formulaires
$materiel = $_POST['matos'];
$dispo = $_POST['dispo'];
echo $matos;
// on créer la requête SQL, pour ensuite l'envoyer
$requete = "insert into matos values('','$materiel','$dispo','','')";
mysql_query($requete) or die('Erreur SQL !'.$sql.''.mysql_error());
echo "Vos données ont été envoyées !";
// fermeture de la connexion vers Mysql
mysql_close();
?>
Un site de vulgarisation scientifique : http://www.etcomment.fr
"Il faut savoir prendre son temps pour aller vite"
Hors ligne
#2 Le 25/09/2007, à 13:02
- miraks
Re : checkbox et mysql...
Bonjour,
Dans ton ordre insert:
$requete = "insert into matos values('','$materiel','$dispo','','')";
On peut voir que $dispo est entre cotes: '$dispo'.
Il faut faire cela quand l'attribut est un VARCHAR (chaine de caracteres), quand, comme dans ton cas, où c'est un BOOLEAN, il faut metter directement TRUE ou FALSE.
Essayes:
$requete = "insert into matos values('','$materiel',$dispo,'','')";
Hors ligne
#3 Le 25/09/2007, à 13:15
- abeman
Re : checkbox et mysql...
Merci de ta réponse. Tu viens de m'apprendre un truc.
Bon, quand je tire les cotes, j'ai une erreur de sql :
Erreur SQL !You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'on,'ici','')' at line 1
Apparement il arrive peut etre pas a savoir si il est true ou false
De plus dans phpmyadmin, il ne veux pas me metre en bool, il me change automatiquement pour "tinyint(1)".
Comment le forcer a etre en BOOL?
Un site de vulgarisation scientifique : http://www.etcomment.fr
"Il faut savoir prendre son temps pour aller vite"
Hors ligne
#4 Le 28/09/2007, à 09:51
- toto4455
Re : checkbox et mysql...
bonjour,
for the right syntax to use near 'on,'ici','')'
t'indiques que la variable check box prend par defaut la valeur " on " pour vrai ,
tu peux faire le test en affichant ta requete au lieu de l'inserer directement .
donc on pour vrai
insert into matos values('','truc','on','','')Vos données ont été envoyées !
rien pour faux .
insert into matos values('','truc','','','')Vos données ont été envoyées !
c'est le cas par defaut , maintenant si tu veux mettre autre chose tu peux
rajouter la syntax value="TRUE" dans ton checkbox par exemple,
la si c'est coche alors cela renvera TRUE ,sinon cela ne renvera rien.
et faire un test sur la variable $dispo pour voir si elle est vide .
<input type="checkbox" name="dispo" value="TRUE" >
<?
// récupération des données du formulaires
$materiel = $_POST['matos'];
$dispo = $_POST['dispo'];
if($dispo=="")$dispo="FALSE";
// on créer la requête SQL, pour ensuite l'envoyer
$requete = "insert into matos values('','$materiel','$dispo','','')";
echo $requete;
?>
#5 Le 03/10/2007, à 10:35
- abeman
Re : checkbox et mysql...
Ok, merci de ta réponse sa marche nikel.
Donc maintenant, logiquement, il devrai me dire selon l'ID (quand je lit la base de donnée) si c'est true ou false, nan?
Merci encore
Un site de vulgarisation scientifique : http://www.etcomment.fr
"Il faut savoir prendre son temps pour aller vite"
Hors ligne
#6 Le 17/10/2007, à 14:28
- abeman
Re : checkbox et mysql...
Je viens refaire appel a vous pour un autre pb :
j'ai une erreur :
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 3 in /home/stiven/public_html/connection.php on line 12
Vous n'avez pas accès a la modification des entrées...
quand j'execute le script suivant :
<?php
$db = mysql_connect('localhost', 'xxxx', 'xxxx');
mysql_select_db('test',$db);
//déclaration des vaiable pour le test de connection et récupération des données du formulaires
$insert = "insert.html";
$user = "SELECT * FROM user WHERE pseudo='$_POST[login]' AND password='$_POST[password]'";
$requete = mysql_query($user) or die('Requête invalide : ' . mysql_error());
// on demande a la base de donnée si l'utilisateur est administrateur
if (mysql_result($requete, 0, 'admin') == 1 )
include ($insert);
else
echo "Vous n'avez pas accès a la modification des entrées...";
?>
Je ne comprend pas trop pourquoi et je ne trouve pas non plus sur le net.
Je pencherais ptet sur une mauvaise utilisation de mysql_result...
En fait, ce que je veux faire, c'est que si le champ "admin" de l'utilisateur qui a le login "pseudo" est a 1 alors sa va ouvrir la page.
Des pistes pour moi?
Merci encore
Un site de vulgarisation scientifique : http://www.etcomment.fr
"Il faut savoir prendre son temps pour aller vite"
Hors ligne
#7 Le 19/10/2007, à 17:37
- abeman
Re : checkbox et mysql...
up?
Un site de vulgarisation scientifique : http://www.etcomment.fr
"Il faut savoir prendre son temps pour aller vite"
Hors ligne
#8 Le 25/10/2007, à 08:42
- abeman
Re : checkbox et mysql...
re up?
Un site de vulgarisation scientifique : http://www.etcomment.fr
"Il faut savoir prendre son temps pour aller vite"
Hors ligne
#9 Le 25/10/2007, à 13:00
- miraks
Re : checkbox et mysql...
C'est parceque ta requette retourne 0 ligne. Donc tu ne peux pas faire un "mysql_result($requete, 0, 'admin')" car la ligne ayant pour index 0, n'existe pas.
Il te faut verifier avec mysql_num_rows si la requette retourne au moins une ligne.
Hors ligne
#10 Le 26/10/2007, à 08:12
- abeman
Re : checkbox et mysql...
Bonjour et merci de ta réponse.
Je n'ai pas tout compris a dire vrai...
Tu peux m'expliquer plus précisément comment faire pour que ce que je veux marche?
Merci d'avance
Un site de vulgarisation scientifique : http://www.etcomment.fr
"Il faut savoir prendre son temps pour aller vite"
Hors ligne
Pages : 1