begin process at 2012 05 31 01:03:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Débutants

 > 

problème avec chekbox


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

problème avec chekbox

samedi 10 septembre 2005 à 12:04:36 | problème avec chekbox

01cod10

salut à tous,

Un problème avec mes checkbox envoyés dans ma table. Un seul choix apparait dans ma table de plus je n'arrive pas à afficher les loisirs cochés.
loisirs de type set ("football","natation","internet","Tennis", "lecture")

Bout de code de mon formulaire en html

<tr>

<td> Loisirs</td>

<td>

<input type="checkbox" name="loisirs[]" value="Football" />Football<br />

<input type="checkbox" name="loisirs[]" value="Natation" />Natation<br />

<input type="checkbox" name="loisirs[]" value="Tennis" />Tennis<br />

<input type="checkbox" name="loisirs[]" value="Lecure" />Lecture<br />

<input type="checkbox" name="loisirs[]" value="Internet" /> Internet<br />

</td>

</tr>

script d'insertion dans la table

$requete = "INSERT INTO Table (num,pseudo ,motdepasse,loisirs, description )

VALUES ('','". $pseudo ."', '".$motdepasse."','".$loisirs."','".$description."')";


Affichage d'une fiche

$select = "SELECT * FROM table WHERE pseudo='$pseudo'";

$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );

$total = mysql_num_rows($result);

if($total) {

while ($row = mysql_fetch_array($result)) {

echo '<table border="0" bgcolor="">'."\n";

echo '<tr>';

echo '<td><b>'.$row["pseudo"].'</b></td>';

echo '</tr>';

echo '<tr>';

echo '<td>.$row["loisirs"].'</td>';

echo '<td></td>';

echo '</tr>';

.
.
.


samedi 10 septembre 2005 à 12:28:30 | Re : problème avec chekbox

aurelien0306

Réponse acceptée !
salut,
les loisirs sont bien récupérés, mais sous forme de tableau donc par exemple tu auras dans $_POST['loisirs']  :  Array([0]=>'Football',[1]=>'Internet')
ma solution serait de passer ton tableau sous forme de chaine pour que la requête mysql soit valide :
if(isset($_POST['loisirs']))
{
    $loisirs = $_POST['loisirs'];
    $str_loisirs = '';
   
    if(count($loisirs)>0)
    {
        foreach ($loisirs as $un_loisir)
        {
            $str_loisirs .= $un_loisir . ',';
        }
       
        /* on enleve la derniere virgule */
        $str_loisirs = substr($str_loisirs,0,strlen($str_loisirs)-1);
    }
}

et donc dans ta requete tu remplaces $loisirs par $str_loisirs...

ça devrait marcher
puisque pour insérer dans une colonne de type set, les valeurs doivent être séparées par des virgules (http://dev.mysql.com/doc/mysql/en/set.html)


samedi 10 septembre 2005 à 12:38:42 | Re : problème avec chekbox

aurelien0306

Re,
Pour la récupération tu as donc dans $row['loisirs'] les loisirs sous forme loisir1,loisir2,...
Une des solutions consiste à utiliser explode :
$tableau_loisirs = explode($row['loisirs'],',');

et ensuite :
- soit tes valeurs sont fixes donc tu as toujours le même formulaire (ici tes 5 choix)
et donc pour chaque tu fais :
echo '<input type="checkbox" name="loisirs[]" value="Football"';
if(in_array('Football',$tableau_loisirs)) echo 'checked="checked"';
echo  ' />Football<br />';


- soit tu veux afficher uniquement les choix cochés (pas vraiment l'utilité car sinon tu peux les laisser en texte) et dans ce cas tu pourrais faire :
foreach($tableau_loisirs as $un_loisir)
{
   echo '
<input type="checkbox" name="loisirs[]" value="' . $un_loisir . '" checked="checked" />' . $un_loisir . '<br />';
}

...

samedi 10 septembre 2005 à 12:48:52 | Re : problème avec chekbox

01cod10

Voici ce que j'aimerai afficher

Loisirs: fooball, tennis, internet

qui sont les cases cochées par l'utilisateur. car je ne pige pas encore et ne sais pas ou je dois faire les modifs c'est dans le script de insertion ou le script qui affiche les données 
samedi 10 septembre 2005 à 12:52:03 | Re : problème avec chekbox

aurelien0306

Donc si tu veux n'afficher que ça dans ta fiche tu as juste à afficher ton $row['loisirs'];
et pour l'insertion normalement la solution que je t'ai fournie doit te permettre de faire l'insertion correctement

samedi 10 septembre 2005 à 13:04:33 | Re : problème avec chekbox

01cod10

merci cela marche à merveille.


Cette discussion est classée dans : table, mysql, pseudo, echo, loisirs


Répondre à ce message

Sujets en rapport avec ce message

Pas de surbrillance en php ? [ par nougitch ] Bonjour, Impossible de faire un "onmouseover" et un onmouseout" dans mon code php. Ca marche très bien en HTML... Voir la balise en gras. Merci d'a Coordonnées d'une cellule [ par nougitch ] Bonjour, Je possède un tableau. Les lignes et colonnes se forment automatiquement en fonction des tables 'application' et 'module'. Je veux rendre la aficher n'importe quelle table. [ par jchbt ] salut, je cherche a ecrire du code capable de m'afficher n'importe quelle requete et je rame sur l'imbrication d'une boucle. je n'arrive pas a imbriqu trier un tableau [ par jchbt ] Salut,j'ai le code suivant qui me sert a afficher un tableau, et je cherche a faire en sorte que les colonnes se trient automatiquement (uniquement or prob verif donné [ par cobrachris ] Bonsoir, désolé de vous déranger encore une fois.J'ai encore un problème, j'ai créer un espace membre, ainsi qu'un formulaire d'inscription (vraiment Erreur incomprise... [ par Ang3lo ] Bonjours à tous, Je suis en train de développer un script d'identification mais j'ai un problème : une erreur m'est indiqué et je ne sais pas pourquoi pb control if else....pour inscription [ par laubro ] Bonjour,je vousdrais en fait lors de l'envoi d'un form d'inscription (pseudo, pass et mail)  faire un control voir si le pseudo n'existe pas déja dans qqun peut regarder mon code ? [ par Teclis01 ] voil¨¤ en fait je cherche a calculer le tps total des appels de clients le probleme c est kil ne me fait que 1 appel par ligne et je comprends pas tro multiple insertion dans mysql via un formulaire php [ par wizard512 ] je suis entrain d'éllaborer un script qui permet de multiple insertion dans mysql via un formulaire php.. mais je bloque pour la dernière étapes, quel modification de données [ par 01cod10 ] Salut,* Est il bon  de proposer dans un espace membre une modification des données personnelles à chaque membre.* Si oui voici ce que j'ai comme code


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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 : 3,136 sec (3)

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