Bonjour,

Commençons par une mise en situation...

J'ai un tableau avec une liste de checkbox. Lorsqu'une case est cochée, je renvoie l'id de l'élément dans un tableau avec un nom[] dans le name de mon input.

Tout marche à la perfection lorsque j'ai une ou plusieurs checkbox de cochées mais j'ai une erreur lorsque je n'ai aucune case cochée :

Warning: implode() [function.implode]: Bad arguments. in /var/www/apache2-default/definitions_lien_video.php on line 134

Je me suis donc dit tout betêment que j'allais faire un test et lancer ma fonction implode uniquement lorsque des données ont été envoyées, mais j'ai essayé 15 façons différentes de tester ma condition rien ne marche...

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
25
26
27
if (isset($_POST['enregistrer']))
{
	//id_def correspond aux noms des checkbox
	$nombre_def_ajout = count($_POST['id_def']);
	if ($nombre_def_ajout == '0')
	{
		$liste = '';
	}
	else
	{
                $liste = implode(', ', $_POST['id_def']) ;
	}
 
        $id_video = $_POST['descr_video'];
	//affichage
 
	echo $nombre_def_ajout.' ajoutes';
	echo $liste;
 
	//ajout dans la BD
	$mise_a_jour = "UPDATE flv 
                               SET definition = '$liste' 
                               WHERE id= '$id_video' ";
        //echo $mise_a_jour ;
	mysql_query($mise_a_jour);
 
}
A la place de if ($nombre_def_ajout == '0')
j'ai essayé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
if (count($_POST['id_def']) == '0')
if (empty(count($_POST['id_def'])))
if (count($_POST['id_def']) <= '0')
...
quelqu'un aurait une petite idée sur la question ?

merci