Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/01/2008, 17h10   #1
Invité de passage
 
Inscription : août 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 10
Points : 2
Points : 2
Par défaut Récupérer la valeur d'une case à cocher

Bonjour à tous, je voudrais developper une liste de donnée avec checkbox.
Si l'on clique sur certaines checkbox, je recupère leur valeur et les supprime de ma base.
[ Un peu comme une liste d'email/je coche ceux dont je veux supprimer/je clique sur le bouton supprimer/mes emails selectionnés sont supprimés]

Pour le moment, j'essaye de recuperer les valeurs des checkbox selectionnés.
Pour la suppression je verrai plus tard.

Voici la liste de mes chechbox :
Code :
1
2
3
4
5
6
7
8
9
10
11
 
 
<form method="post" action="test_check.php" name="formulaire">
<?php
$rqt = mysql_query('SELECT * FROM contact WHERE client="13" ORDER BY nom ');
while ($data = mysql_fetch_assoc($rqt)){
 echo'<input type="checkbox" name="contact"  value="'.$data['IDcontact'].'"  />'. $data['nom'].'<br />';
}
?>
<input type="submit" name="submit" value="supprimer" />
</form>
Cela m'affiche :
Code :
1
2
3
4
5
 
<input type="checkbox" name="contact"  value="4"  />nom1<br />
<input type="checkbox" name="contact"  value="5"  />nom2<br />
<input type="checkbox" name="contact"  value="8"  />nom3<br />
<input type="checkbox" name="contact"  value="3"  />nom4<br />

J'essaye de recuperer les données selectionnées :
Code :
1
2
3
4
5
 
if (isset($_POST['submit'])) {
 $text = $_POST["contact"];
 echo $text;
}
Cela m'indique qu'une seule valeur, même si j'en choisi plusieurs.

Pourriez-vous me donner un petit coup de main, Merci!
seb1395 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2008, 17h26   #2
Invité de passage
 
Inscription : août 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 10
Points : 2
Points : 2
Voici une réponse que je viens de trouver.

http://php.developpez.com/sources/?page=forms#postcheck

Cependant je n'arrive pas à l'adapter...
seb1395 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2008, 19h15   #3
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Qui dit checkbox dit sélection multiple donc un résultat sous forme de tableau :
Code :
echo'<input type="checkbox" name="contact[]"  value="'.$data['IDcontact'].'"  />'. $data['nom'].'<br />';
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2008, 09h44   #4
Invité de passage
 
Inscription : août 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 10
Points : 2
Points : 2
Merci pour votre réponse.
C'est noté pour mettre une variable dans le name.
Par exemple :
Code :
1
2
3
4
5
6
7
8
9
10
11

<form method="post" action="test_check.php" name="formulaire">
<?php
$rqt = mysql_query('SELECT * FROM contact WHERE client="13" ORDER BY nom ');
while ($data = mysql_fetch_assoc($rqt)){
 echo'<input type="checkbox" name="contact.$data['IDcontact'].'"  value="'.$data['IDcontact'].'"  />'. $data['nom'].'<br />';
}
?>
<input type="submit" name="submit" value="supprimer" />
</form>
Mais je ne sais pas comment récuperer cet valeur ainsi:
Code :
1
2
3
4
5
6
 
 
if (isset($_POST['submit'])) {
 $text = $_POST["contact"];
 echo $text;
}
je propose :
Code :
1
2
3
4
5
6
 
 
if (isset($_POST['submit'])) {
 $text = $_POST["contact'.$data['IDcontact'].'"];
 echo $text;
}
Mais cela ne fonctionnera pas. En effet mon $data est dans un while car je dois lire plusieurs d'un tableau de bass de données

Merci de votre aide
seb1395 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2008, 01h18   #5
Membre habitué
 
Expert Support Applicatif
Inscription : mars 2007
Messages : 158
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Expert Support Applicatif
Secteur : Distribution

Informations forums :
Inscription : mars 2007
Messages : 158
Points : 140
Points : 140
Bonjour, alors voilà pour repondre à ton problème :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<form method="post" action="test_check.php" name="formulaire">
 
 
<?php
$rqt = mysql_query('SELECT * FROM contact WHERE client="13" ORDER BY nom ');
 
while ($RS= mysql_fetch_array($rqt))
{
         extract($RS);
echo" <input type='checkbox' name=data[]' value='$IDcontact' >$nom</br>";
}
?>
IDcontact est un champ de ta requete, et nom le nom d'un autre champs de ta requete...
Cela va créer :
alex
alain
christophe
antoine

Avec un tableau qui aura si tu coche tout
data[0]=1 // 1 et 2 etant les IDcontact...
data[1]=2
...

Ensuite dans ta seconde page tu ecris cela :
Code :
1
2
3
4
5
6
7
8
9
10
11
 
$TABLEAU=$_POST[data]; //passage du tableau (data) dans un autre tableau
 
foreach ($TABLEAU as $value) //tu passes la valeur actuelle dans une clef
 {
 
<?
echo " $value " ;
?>
 
}
cela devrait ecrire :

alex
alain
christophe
antoine...

Normalement cela devrait repondre à ta question...
Le code n'est pas très propre mais a 1h30 j'éspère etre excusé...
Alex70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h55.


 
 
 
 
Partenaires

Hébergement Web