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 :

Case à cocher dans une boucle [PHP 5.2]


Sujet :

Langage PHP

  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut Case à cocher dans une boucle
    Bonjour,

    En lisant une table j'affiche un checkbox à chaque ligne .
    Le problème, je n'arrive pas à afficher les cases cochées à la validation du fomulaire.
    mon code
    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
    <?php
    if (isset($_POST['check']))	$check = $_POST['check'];
    else $check = "";
    function est_selectionne_check($option) {
        if (!isset($_POST['check'])) {
                return FALSE;
        }
        for ($i = 0, $c = count($_POST['check']); $i < $c; $i++) {
            if ($_POST['check'][$i] == $option) {
                return TRUE;
            }
        }
        return FALSE;
    }
    $sql = mysql_query("SELECT id_film, titre FROM films ORDER BY titre");
    $nb = mysql_num_rows($sql);
    	for ($a = 0; $a < $nb; $a++){
    		$id_film = mysql_result($sql,$a,"id_film");
    		$titre = mysql_result($sql,$a,"titre");
    <input type='checkbox' name='check[]' value='$id_film' if (est_selectionne_film($id_film)) { echo 'checked'; } >
    ...
    Merci de dire ce que je dois ajouter sur ma lign <input type="checkbox" ...>

  2. #2
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Bonjour,

    Plutôt que parcourir ton tableau $_POST['check'], tu peux déjà utiliser la fonction in_array.

    Pour ce qui est de l'affichage, il doit y avoir un trou dans le code montré :
    - pas de "echo" ni de fermeture de balise php ( ?>)
    - la fonction utilisée est "est_selectionne_film" alors que celle déclarée est est_selectionne_check...

    En passant, il est préférable de donner une valeur à tous les attributs d'une balise HTML, c'est à dire faire checked="checked"

  3. #3
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut
    Bonsoi et merci pour la réponse
    Citation Envoyé par Eusebe Voir le message
    Bonjour,

    Plutôt que parcourir ton tableau $_POST['check'], tu peux déjà utiliser la fonction in_array.

    Pour ce qui est de l'affichage, il doit y avoir un trou dans le code montré :
    - pas de "echo" ni de fermeture de balise php ( ?>)
    - la fonction utilisée est "est_selectionne_film" alors que celle déclarée est est_selectionne_check...

    En passant, il est préférable de donner une valeur à tous les attributs d'une balise HTML, c'est à dire faire checked="checked"
    Pour in_array je n'ai jamais utilisé donc je vais voir !!
    Il n'y a pas de trou dans le code, j'ai indiqué uniquement la partie qui me pose problème (pour le moment )
    Ma balise de fermeture de php ?> est en bas de ma page.
    Pour la fonction, il y a effectivement une erreur, c'est bien est_selectionne_check
    Pour checked="checked" pas de problème.

    Tout en ayant modifié le nom de la fonction, les cases cochées ne s'affichent toujours pas après validation.

    Je peux te donner tout le code de la page si tu veux

  4. #4
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut
    Après pas mal de temps passé sur in_array j'ai résolu mon problème et ça à l'air de marcher.

    Merci Eusebe

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/11/2007, 15h53
  2. [REQUETE]Afficher un champ "case à cocher" dans une requête SQL-Access
    Par Amael ROCHE dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 03/04/2007, 11h07
  3. Case à cocher dans une ComboBox
    Par vano dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 02/05/2006, 13h29
  4. Case à cocher dans une requête
    Par kloss dans le forum Access
    Réponses: 6
    Dernier message: 14/10/2004, 11h44

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