begin process at 2010 03 22 14:39:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Bases de données

 > 

Enième pb de checkbox...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Enième pb de checkbox...

vendredi 12 novembre 2004 à 16:16:57 | Enième pb de checkbox...

arnold002

Bonjour,
Malgré tous les posts consultés sur ce forum, je ne trouve pas la solution à mon problème de checkbox.

J'ai une BDD 'recette' contenant des recettes avec 3 champs (pour simplifier) :
1 - id
2 - titre
3 - ingredient

J'ai un formulaire avec checkbox de cette forme :
<form name="titre" action="page1.php" method="post">
<input type="text" size="20" name="terme"><br>
<input type="checkbox" name="choix" value="id">id
<input type="checkbox" name="choix" value="titre">titre
<input type="checkbox" name="choix" value="ingredient">ingredient
<input type="submit" value="Rechercher">

Sur la page "page1.php", je crée une requête du type :
$sql = (" SELECT * FROM recette WHERE $choix='$terme' ");


Le mot tapé doit être recherché dans le champ de la BDD correspondant à la checkbox cochée.
Par ex : je tape amande. Si je coche la case 'ingredient', la requête doit rechercher le mot amande dans le champ 'ingredient' de ma BDD.
Si je coche, 'titre' le mot amande doit être recherché dans mon champ 'titre'.
La variable '$titre'passe bien mais pas la variable '$choix'

Je sèche... Quelqu'un peut-il m'aider ?
Merci de vos réponses
samedi 13 novembre 2004 à 01:29:48 | Re : Enième pb de checkbox...

lotr

Bonsoir,

tes checkbox portent toutes le même nom, c'est pour ça que ça ne fonctionne pas.
D'après ton exemple, je dirais que les radio boutons seraient mieux adaptés. Remplace simplement tes type="checkbox" par type="radio".
samedi 13 novembre 2004 à 10:40:19 | Re : Enième pb de checkbox...

arnold002

Salut,
Je reste sur ma première idée de checkbox.
J'ai modifié mon formulaire :

<form name="choix" action="test4.php" method="post">
<input type="text" size="20" name="titre"><br>
<input type=checkbox name=var[] value="ingredient">ingredient
<input type=checkbox name=var[] value="titre">titre
<input type=checkbox name=var[] value="id">id
<input type="submit" value="Rechercher" style="font-size: 12px; position: relative; left: 20px;">
</form>

sur ma page 'test4.php', j'ajoute avant ma requête les lignes suivantes :

for ($i = 0; $i < count($var); $i++)
{
echo $var[$i];

// Pour le test, j'affiche la valeur du checkbox

// je crée la requête SQL
$sql = ("SELECT * FROM recette WHERE valid='1' AND $i = '%$titre%' order by 'titre' asc");

// $titre renvoie au champ texte du formulaire
// $i renvoie la valeur du checkbox coché

// j'envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
.....

Là, pas de message d'erreur.
Ca m'affiche la valeur du checkbox mais ça m'affiche toutes mes recettes et non pas celles contenant la valeur du champ texte saisi.

Je ne comprends pas.
samedi 13 novembre 2004 à 10:42:17 | Re : Enième pb de checkbox...

arnold002

J'ai quand même essayé avec des types radio mais je veux absolument que ma valeur cochée soit une variable (pour les besoins de ma requête), donc si je donne un nom différent à chaque radio, ça ne va pas.
samedi 13 novembre 2004 à 13:46:14 | Re : Enième pb de checkbox...

lotr

Re,

et ça ne fonctionne pas avec quelquechose comme ça ?


<form name="choix" action="test4.php" method="post">
<input type="text" size="20" name="titre"><br>
<input type="radio" name="var" value="ingredient">ingredient
<input type="radio" name="var" value="titre">titre
<input type="radio" name="var" value="id">id
<input type="submit" value="Rechercher" style="font-size: 12px; position: relative; left: 20px;">
</form>

<?php
//test4.php'

//valeur du radio bouton coché
$choix = $_POST['var'];
//valeur de la case à remplir
$text = $_POST['titre'];
// requête SQL
$sql = ("SELECT * FROM recette WHERE $choix='$text' order by 'titre' asc");
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
.....
?>

samedi 13 novembre 2004 à 15:19:12 | Re : Enième pb de checkbox...

arnold002

Re,

J'ai finis par trouver la solution il y a qques minutes. Ca ressemble fort à ta méthode mais j'ai conservé des checkbox

Mon formulaire :
<form name="choix" action="test4.php" method="POST">
<input type="text" size="20" name="choix"><br>
<input type=checkbox name=var[] value="ingredient">ingredient
<input type=checkbox name=var[] value="titre">titre
<input type=checkbox name=var[] value="id">id
<input type="submit" value="Rechercher" style="font-size: 12px; position: relative; left: 20px;">
</form>

Ma page de résultat :
foreach ($var as $value)
{
}
// on crée la requête SQL
$sql = ("SELECT * FROM recette WHERE $value LIKE '%$choix%' AND valid='1' order by 'titre' asc");

La, ca m'affiche la requête demandée. Reste à résoudre le pb du multi choix dans les checkbox...

En tout cas, merci beaucoup pour ton aide.


Cette discussion est classée dans : checkbox, mot, bdd, titre, ingredient


Répondre à ce message

Sujets en rapport avec ce message

passage d'une valeur de checkbox ds requête mysql [ par arnold002 ] Bonjour,J'ai créé un formulaire avec champ texte et checkbox. Le voici :<input type=checkbox name=var[] value="ingre Remplacer un mot par un lien mais pas si le mot est dans un lien [ par allergie ] Bonjour, je bute depuis ce matin sur un problème bête. Je remplace la première occurence d'un mot s'il correspond au titre d'une liste dans une base Gestion bdd mySQL dans Easyphp [ par 73manu73 ] Bonjour, J'ai un souci avec la gestion de ma Base de Donnees SQL dans EasyPhp 1.8 J'ai voulu changer le mot de passe pour l'utilisateur par defa CheckBox sommaire Word vba [ par Vincentvince35 ] Dans un sommaire word, j'ai ajouté des cases à cocher (boite à outils contrôle) en face de chaque titre. Je souhaiterais pouvoir éditer les pages corr test sur checkbox [ par docbambou ] SAlut, Voila je voudrais afficher des informations d'une BDD.Pour cela j'ai mis a disposition des checkbox pr choisir ce que l'utilisateur veu savoir Surement facile a corriger... [ par michmichman ] Voila mon script:include("sql.php");$conn = mysql_connect($host, $user, $password);mysql_select_db($bdd) or die("Impossible d'ouvrir la base de donnee Modification de la BDD SQL [ par salutbonjour ] Bonjour , Je me demande si c'est possible de connaitre par exemple , les 5 dernieres modifications apportees a une base de donnees , si oui, comment récupéré une variable PHP [ par docbambou ] salut, le code de récupération c'est biensa? faut dire que je comprend pas trop la ligne je l'ai prise quelques part,si vous pouviez détaillez  : $l Fichier texte vers BDD SQL [ par vl92 ] Bonjour,J'ai un fichier texte (.txt) avec une liste de plus de 300 mots, sans balise, avec un mot par ligne.Je voudrais insérer chacun des 300 mots da checkbox dabs une textarea [ par twixster ] bonjour, alors je vous explique mon probleme j'ai un formulaire ou on peut rentre du texte pour certain element exemple : hobbys : &l


Nos sponsors


Appels d'offres

Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales