Probleme checkbox
Guillaume
-
varfendell Messages postés 3259 Date d'inscription Statut Membre Dernière intervention -
varfendell Messages postés 3259 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un petit probleme avec un checkbox je vous expliques en fait dans ma table j'ai des champs avec des espaces ex : Centres de vacances le probleme c'est que quand je récupere la valeur ca prend que le premier mot. Je sais pas trop comment faire.
Merci de votre aide coordialement
$sql = "SELECT Libelle FROM interet ORDER BY Libelle";
$req = mysql_query($sql) or die('Erreur SQL : '.$sql);
while($interet = mysql_fetch_assoc($req))
{
echo "<input type='checkbox' name='interet[]' value=".htmlentities($interet['Libelle'])." >".$interet['Libelle']."<br>";
}
for ($i = 0, $c = count($_POST['interet']); $i < $c; $i++)
{
$result = mysql_query("
INSERT INTO list_interet (mail_membre, libelle_interet)
VALUES(
'" . ($_POST["mail"]) . "'
,'" . ($_POST["interet"][$i]) . "')");echo mysql_error();
}
Et j'aimerais aussi savoir s'il est possible que si le champ existe dans ma bdd cocher automatiquement la case!
j'ai un petit probleme avec un checkbox je vous expliques en fait dans ma table j'ai des champs avec des espaces ex : Centres de vacances le probleme c'est que quand je récupere la valeur ca prend que le premier mot. Je sais pas trop comment faire.
Merci de votre aide coordialement
$sql = "SELECT Libelle FROM interet ORDER BY Libelle";
$req = mysql_query($sql) or die('Erreur SQL : '.$sql);
while($interet = mysql_fetch_assoc($req))
{
echo "<input type='checkbox' name='interet[]' value=".htmlentities($interet['Libelle'])." >".$interet['Libelle']."<br>";
}
for ($i = 0, $c = count($_POST['interet']); $i < $c; $i++)
{
$result = mysql_query("
INSERT INTO list_interet (mail_membre, libelle_interet)
VALUES(
'" . ($_POST["mail"]) . "'
,'" . ($_POST["interet"][$i]) . "')");echo mysql_error();
}
Et j'aimerais aussi savoir s'il est possible que si le champ existe dans ma bdd cocher automatiquement la case!
A voir également:
- Probleme checkbox
- [VBA Excel] Boucle sur CheckBox ? ✓ - Forum Excel
- Html checkbox value 1 or 0 ✓ - Forum PHP
- [VBA] liste déroulante de checkbox dynamique - Forum VB / VBA
- Macro pr copier des cellule si checkbox coché - Forum Programmation
- Code VBA powerpoint checkbox avec condition et renvoi - Forum Powerpoint
1 réponse
Je ne sais pas si ça va changer qqch, mais quand tu as un input, c'est de la forme:
<input type='checkbox' name='blabla1' value='blabla2'>
maintenant si ton blabla1 c'est interet[] et ton blabla2 c'est ".htmlentities($interet['Libelle']).", alors ça devrais te donner:
echo "<input type='checkbox' name='interet[]' value='".htmlentities($interet['Libelle'])."' >"
donc il te manque des simples quote autour de ton blabla2. Pourtant tu l'as fait dans ton values
<input type='checkbox' name='blabla1' value='blabla2'>
maintenant si ton blabla1 c'est interet[] et ton blabla2 c'est ".htmlentities($interet['Libelle']).", alors ça devrais te donner:
echo "<input type='checkbox' name='interet[]' value='".htmlentities($interet['Libelle'])."' >"
donc il te manque des simples quote autour de ton blabla2. Pourtant tu l'as fait dans ton values
Sinon j'aimerais aussi savoir s'il est possible que si le champ existe dans ma bdd cocher automatiquement la case!
Par exemple;
tu veut savoir si la colonne "nom" existe dans la tables parent:
$nom = "nom";
$test = 0;
$requete = "select * from parent;"
/*
tu executes ta requete et stocke les meta données dans la premiere ligne du
tableau à deux dimensions qui recupere les info, donc resultat[0] contiendra les noms des colonne de la table parent et tu fait ta boucle dessus
*/
tu boucle comme suis:
for (i = 0; i < resultat[0].getsize())
{
if (resultat[0][i] = $nom)
{
$test = 1;
}
}
et ensuite pour savoir si la colonne existe, regarde si $test = 1, si ce n'est aps le cas, c'est que la colonne n'existe pas
$sqlinteret="Select libelle from list_interet Where mail_membre='".$_SESSION['email']."'";
$reqinteret = mysql_query($sqlinteret) or die('Erreur SQL : '.$sqlinteret);
$champsinteret = mysql_fetch_assoc($reqinteret);
$nbinteret=mysql_num_rows($reqinteret);
//recupération des listes interets
$sql = "SELECT Libelle FROM interet ORDER BY Libelle";
$req = mysql_query($sql) or die('Erreur SQL : '.$sql);
while($interet = mysql_fetch_assoc($req))
{
for ($i=0,$i<$nbinteret,$i++)
{
if ($champsinteret[$i] ==$interet)
{
echo "<input type='checkbox' checked='checked' name='interet[]' value='".htmlentities($interet['Libelle'])."' >".$interet['Libelle'].""<br>;
}
}
echo "<input type='checkbox' name='interet[]' value='".htmlentities($interet['Libelle'])."' >".$interet['Libelle'].""<br>;
}
Et donc la par rapport au code du dessus
Ton resultat est un tableau a deux dimension:
res[i][j] sera l'element ligne i colonne j.
par exemple:
|nom | prenom |
|---------------- |
|aaa | aaaaaa |
tu aura
res[0][0] = nom
res[0][1] =prenom
res[1][0] =aaa
res[1][1] =aaaaa
donc res[0] contiendra un tableau qui lui contiendra les nom de tes colonnes