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 :

Recupéré valeur chekbox


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Par défaut Recupéré valeur chekbox
    Bonjour,

    Je n'arrive pas récupérer les valeurs de mes checkboxes.

    Vue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    echo form_open('admin/valid')
    $data = array(
    								'name'=> 'id',
    								'id'  => 'id',
    								'value'=> $id,
    								'checked'=> FALSE,
    								'style'=> 'margin:10px',
    							);
     
    				echo "<td class='td_xml'>".form_checkbox($data).$r->NOM."</td>";
    Controleur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "test".$this->input->post('id');

  2. #2
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 420
    Par défaut
    Elles sont dans la variable $_POST uniquement si elles sont cochées.
    Temporairement, pour les visualiser tu peux toujours mettre ce bout de code en haut de ta page.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo '<pre>';
    print_r($_POST);
    echo '</pre>';
    (remplace $_POST par $_GET si tu n'as pas spécifié la méthode post pour ton formulaire)

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Par défaut
    Alors j'arrive à récupérer mais checkbox.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $id = $this->input->post("id"); 
    	$data = array();
    	foreach($id as $r)
    	{
    		$data = array('id'=>$r);
    		//$data['id'] =  $r;
     
    	}
    	echo $data['id'];
    Mais j'ai un nouveau problème pour mon array, j’écrase mais valeur et je ne vois pas comment faire autrement. Cette array va faire des restrictions dans ma requête select. donc elle doit être sous la forme 'id'=>$r. Comment faire?

  4. #4
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 420
    Par défaut
    Quest-ce que tu veux exactement au final comme structure ? Faudrait nous donner un peu plus de code et être plus précis pour qu'on puisse comprendre...

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Par défaut
    Dans ma vue j'ai les résultats d'une requête. Sur chaque ligne renvoyé il y a une checkbox ( checkbox name= 'id' value= $id).

    Suite aux lignes sélectionnés je veux faire une nouvelle requête (SELECT * FROM table where id = $id and id=$id etc etc), pour les extraire par la suite les lignes sélectionnées.

    Donc dans mon controlleur je récupère la valeur $id (checkbox cocher), Pour l'envoyer à mon modèle pour faire ma nouvelle requête.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $id = $this->input->post("id"); 
    	$data = array();
    	foreach($id as $r)
    	{
    		$data = array('id'=>$r);
    		//$data['id'] =  $r;
     
    	}
     
    	$data['result'] = $this->user_model->get_id($data);
    Modele :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function get_id($id)
    	{
    $this->db->select('*');
    		$this->db->from('table');
    		$this->db->where($id); //ce qui devrait restreindre ma requete sur les id sélectionnés.
    	}
    Le pb c'est que j'alimente mal mon array dans mon controlleur car elle prend la dernière valeur coché.

  6. #6
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 420
    Par défaut
    T'as bien fait de donner des précisions, sinon on était pas arrivés...

    Je te donne le principe en mode procédural. Tu peux tester le code dans une page séparée.
    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
    28
    29
    30
    <?php
    if (isset($_POST['envoyer']))
    {
     
    	$in_checked = implode(",",$_POST['ID']);
     
    	$sql = "SELECT * FROM matable WHERE id IN (".$in_checked.")";
    	echo $sql;
    }
    ?>
    <html>
    <head>
    <title></title>
    </head>
    <body>
     
    <div>
    <form action='#' method="post">
    <p>
    <input type="checkbox" name="ID[]" value = "id1">
    <input type="checkbox" name="ID[]" value = "id2">
    <input type="checkbox" name="ID[]" value = "id3">
    <input type="submit" value = "envoyer" name="envoyer" />
    </p>
    </form>
     
    </div>
     
    </body>
    </html>

  7. #7
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2011
    Messages : 32
    Par défaut
    Bonjour,
    Citation Envoyé par xouzi Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $data = array();
    foreach($id as $r)
    {
    	$data = array('id'=>$r);
    	//$data['id'] =  $r;
     
    }
    echo $data['id'];
    A chaque fois que tu appelle la method array(), tu crée un nouveau tableau dans ta variable $data.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $data = array();
    foreach($id as $r)
    {
    	$data[] =  array('id'=>$r);
     
    }
    var_dump($data);

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

Discussions similaires

  1. recupérer valeur checkbox
    Par Emcy dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 15/09/2009, 16h13
  2. Réponses: 4
    Dernier message: 11/04/2007, 17h03
  3. recupérer valeur de checkbox
    Par Emcy dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 06/02/2007, 12h00
  4. recupérer valeur de champs
    Par Echizen1 dans le forum Access
    Réponses: 14
    Dernier message: 14/09/2006, 21h24
  5. [Tableaux] recuperer valeur chekbox
    Par jojo971 dans le forum Langage
    Réponses: 3
    Dernier message: 27/06/2006, 12h01

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