IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] "Zapper" une fonction implode


Sujet :

Langage PHP

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 248
    Points : 231
    Points
    231
    Par défaut [Tableaux] "Zapper" une fonction implode
    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

  2. #2
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    Bonjour,

    utilise la fonction is_array()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    	if (!is_array($_POST['id_def']))
    	{
    		$liste = '';
    	}
    	else
    	{
                    $liste = implode(', ', $_POST['id_def']) ;
    	}
    cela va tester si $_POST['id_def'] est un tableau ou non

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 248
    Points : 231
    Points
    231
    Par défaut
    Merci ça marche....

    Mais je ne comprend pas pourquoi mes autres tests ne fonctionnaient pas...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] problème d'appel à une fonction
    Par sam01 dans le forum Langage
    Réponses: 6
    Dernier message: 25/01/2007, 10h28
  2. [Tableaux] affichage résultat d'une fonction
    Par benooiit dans le forum Langage
    Réponses: 4
    Dernier message: 04/01/2007, 17h37
  3. [Tableaux] Récuperer variable dans une fonction
    Par amarcil dans le forum Langage
    Réponses: 12
    Dernier message: 12/02/2006, 10h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo