Salutatous,
j'ai un 1er fichier comportant un formulaire qui permet d'envoyer dans une bdd des choix à partir de case à cocher (checkbox).
j'ai un 2e fichier qui permet d'afficher ces choix.
jusque-là tout se passe bien
j'ai ensuite un 3e fichier qui doit me permettre de modifier ces choix... et c'est là où je bloque car je n'arrive pas à ré-afficher ces choix dans les checkbox
code de mon 1er fichier qui permet de cocher les checkbox :
code de mon fichier "traitement.php" qui permet l'enregistrement en base :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 <?php require('traitement.php'); ?> ... / ... <strong>PERMIS</strong><br /> <input type="checkbox" value="Voiture" name="permis[]" <?php if (isset($_POST['permis']) && in_array('Voiture', $_POST['permis'])) echo 'checked="checked"'; ?> /> Voiture <input type="checkbox" value="Bâteau" name="permis[]" <?php if (isset($_POST['permis']) && in_array('Bâteau', $_POST['permis'])) echo 'checked="checked"'; ?> /> Bâteau <input type="checkbox" value="Poids lourd" name="permis[]" <?php if (isset($_POST['permis']) && in_array('Poids lourd', $_POST['permis'])) echo 'checked="checked"'; ?> /> Poids lourd <input type="checkbox" value="Plongée" name="permis[]" <?php if (isset($_POST['permis']) && in_array('Plongée', $_POST['permis'])) echo 'checked="checked"'; ?> />
code de mon 3e fichier qui doit permettre la modification :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 // gestion message erreur si aucune case n'est cochée : if (!is_array($_POST['permis'])) { $permis_liste = ''; } else { $permis_liste = implode(', ', $_POST['permis']); } // requete SQL $sql = 'INSERT INTO ma_table VALUES ( "'.$permis_liste.'" )';
si je fais un echo sur $permis, ça m'affiche bien mes choix comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 <?php $requete_sql = "SELECT permis FROM ma_table WHERE login='" . $_SESSION['login'] . "'"; ... / ... while ( list ( $permis ) = mysql_fetch_array($requete_sql_bis)) { ?> ... / ... <input type="checkbox" value="Voiture" name="permis[]" <?php if (isset($permis) && in_array('Voiture', $permis)) echo "checked"; ?> /> Voiture <input type="checkbox" value="Bâteau" name="permis[]" <?php if (isset($permis) && in_array('Bâteau', $permis)) echo "checked"; ?> /> Bâteau <input type="checkbox" value="Poids lourd" name="permis[]" <?php if (isset($permis) && in_array('Poids lourd', $permis)) echo "checked"; ?> /> Poids lourd <input type="checkbox" value="Plongée" name="permis[]" <?php if (isset($permis) && in_array('Plongée', $permis)) echo "checked"; ?> /> ... / ...
Voiture, Bâteau, Plongée
par contre ces choix ne se ré-affiche pas dans les cases à cocher correspondantes et j'ai le message d'erreur suivant :
Warning: in_array() [function.in-array]: Wrong datatype for second argument in /blablabla/blablabla.php on line ...
j'ai donc placer ce code juste avant mon formulaire de modification :
je n'ai plus le message d'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 $permis = array(); if (is_array($permis)) { var_dump($permis); } else { echo '<br /><br />ce n\'est pas un tableau<br /><br />'; }
et ça m'affiche ceci :
array(0) { }
par contre mes checkbox ne sont toujours pas cocher de mes choix : Voiture, Bâteau, Plongée
une aide serait la bienvenue, merci d'avance...
Partager