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 ...
@+...