
le 02/07/2008 à 23:30
i M@N
reuh ...
Je vois plus comme ça :
Après tu peux essayer avec implode sur le $_POST['image'] comme disait Lupus c'est plus mieux.
Mais là j'ai bien commenté pour que tu vois la démarche (si j'ai bien compris ce que tu veux faire) :
- on récupère les variables
- on affiche le formulaire ou on traite les données
- on parcourt le tableau $image
- on insère en base les images séparées par des ";"
- on se ressert du tableau $image pour afficher ce qui a été coché
Après y'a x façons de faire un truc ...
@+...
Je vois plus comme ça :
- <?php
- /*on initialise la variable $action issue de $_GET (_CHECKBOX_test.php?action=submit)*/
- if (isset($_GET['submit'])) $action = $_GET['submit']; else $action = '';
- /*début du switch*/
- switch($action) {
- /*si $action = "submit"*/
- case "submit" :
- /*si une (ou plusieurs) checkbox(es) cochée(s)*/
- if (isset($_POST['image'])) {
- $image = $_POST['image'];
- /*affiche le contenu du tableau $checkbox*/
- //print_r($image);
- /*on compte le nombre d'enregistrement(s) du tableau $image*/
- for($i = 0;$i < count($image);$i++) {
- /*si un seul enregistrement*/
- if ($i == 0) {
- $img = ''.$image[0];
- }
- /*si plusieurs enregistrements*/
- else {
- $img = $img.';'.$image[$i];
- }
- //print $image;
- }
- /*on insère dans la base*/
- $base2 = mysql_connect('host', 'user', 'password');
- mysql_select_db('base', $base);
- $sql2 = "INSERT INTO 2008_test VALUES('','$type','$status','$home','$titre','$url','$texte','$img')";
- mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());
- /*maintenant on affiche ce qui a été sélectionné avec les checkboxes*/
- /*on compte le nombre d'enregistrement(s) du tableau $image*/
- for($i = 0; $i < count($img);$i++) {
- /*si un seul enregistrement*/
- if ($i == 0) {
- /*on affiche l'image*/
- echo '<img src="./imgincfront/'.$image[0].'" />';
- }
- /*si plusieurs enregistrements*/
- else {
- /*on affiche les images*/
- echo '<img src="./imgincfront/'.$image[$i].'" /><br />';
- }
- }
- /*fin du case : "submit"*/
- break;
- /*case defaut, $action != "submit" => affichage du formulaire*/
- default : echo '<form method="POST" action="_CHECKBOX_test.php?action=submit">
- <input type="checkbox" name="image[]" value="affiche_baba.jpg">
- <img src="./imgincfront/affiche_baba.jpg" width="80"><br />
- <input type="checkbox" name="image[]" value="affiche_bubulle.jpg">
- <img src="./imgincfront/affiche_bubulle.jpg" width="80"><br />
- <input type="checkbox"name="image[]" value="affiche_cendrillon.jpg">
- <img src="./imgincfront/affiche_cendrillon.jpg" width="80"><br />
- <input type="submit" value="envoyer">
- </form>';
- /*fin du case defaut*/
- break;
- /*fin du if (isset($_POST['image']))*/
- }
- /*fin du switch*/
- }
- ?>
Après tu peux essayer avec implode sur le $_POST['image'] comme disait Lupus c'est plus mieux.
Mais là j'ai bien commenté pour que tu vois la démarche (si j'ai bien compris ce que tu veux faire) :
- on récupère les variables
- on affiche le formulaire ou on traite les données
- on parcourt le tableau $image
- on insère en base les images séparées par des ";"
- on se ressert du tableau $image pour afficher ce qui a été coché
Après y'a x façons de faire un truc ...
@+...