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

PHP & Base de données Discussion :

récupérer valeurs de mes checkbox créé dynamiquement [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut récupérer valeurs de mes checkbox créé dynamiquement
    Bonjour a tous.

    J'ai listé un tableau avec pour chaque valeur une checkbox a coté.
    Bien entendu mon tableau est dynamique.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $numero=0;
    			while ($donnees = $req->fetch())
    			{
    			$numero++;	
    			echo '<td><input type="checkbox" name="Chk_'.$donnees['Id_status'].'"></td>';
    j'aurais voulu savoir comment faire pour récupérer les valeurs de mes checkbox.... si elles sont cochées ou non

  2. #2
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    Il me semble plus pratique de procéder ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo '<td><input type="checkbox" name="Id_status[]" value='.$donnees['Id_status'].'></td>';
    Qui au bout permet de les récupérer en boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if (isset($_POST['Id_status']) && !empty($_POST['Id_status'])) {
        foreach ($_POST['Id_status'] as $Id_status) {
            echo $Id_status.'<br />'; // Correspond aux valeurs des Id_status cochés
        }
    }
    else {
        // Aucun statut de coché
    }

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut
    je te remercie beaucoup... j'ai su recuperer mes checkbox cochée

    cependant j'aurais encore 2 petites questions...

    - comment faire pour recuperer les checkbox qui ne sont pas cochées ?
    ( cela me sert pour editer un champ dans ma bdd soit 1 si coché soit 0 si pas coché )

    - aussi j'aimerai recuperer mes valeurs de mes checkbox quand je charge la page ... j'ai lu avec l'argument checked c'etait possible ?

    Merci d'avance

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur LAMP
    Inscrit en
    Janvier 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Janvier 2010
    Messages : 48
    Par défaut
    si $_POST['Ma_checkbox'] existe c'est qu'elle a était coché.

    Si elle n'existe pas, elle n'est pas coché.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Pour que la case soit coché 
    <input type="checkbox" name="nom" checked="checked" />

  5. #5
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    - comment faire pour recuperer les checkbox qui ne sont pas cochées ?
    Une fois validé le formulaire, seul les valeurs des checkbox cochés sont retournés, donc ici il n'y aura pas moyen de le savoir directement.
    Il faudra alors procéder par déduction, du coup, pas d'autre moyen que de récupérer les tous les statuts, et faire une comparaison avec ceux reçus en POST.
    Donc à chaque itération, faire une comparaison/condition.
    Il y a la fonction array_search() ou alors in_array() qui pourra t'aider, tout dépend comment tu le feras.

    - aussi j'aimerai recuperer mes valeurs de mes checkbox quand je charge la page ... j'ai lu avec l'argument checked c'etait possible ?
    Ici le principe est le même que ci-dessus, faire une comparaison sur l'existence ou non des checkbox cochés à chaque itération, ce qui permettra de rajouter (ou pas) un checked="checked" (voir post précédent).

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut
    Merci pour votre aide j'y arrive presque mais je ne comprends pas pourquoi mon code ne marche pas....

    J'ai appliqué votre principe:

    donc je recupere tout mes status

    et pour chaque status je les compare avec les $_post_chkbox_status

    si le status = egale a la checkbox il doit m'updater le champ etat =1
    si le status est different a la checkbox il doit m'updater le champ etat =0

    et je ne comprends pas pourquoi tt mes champs ETAT sont a 0 sauf le dernier chekbox checked...

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    $reponse = mysql_query("SELECT Name_status,Id_status FROM status WHERE Id_step LIKE '$id_step' ORDER BY Name_status"); 
    $nb_entrees = mysql_num_rows($reponse);	
     
    	for ($i = 0; $i<$nb_entrees; $i++)
    	{
    		$liste_status = mysql_fetch_array($reponse);
    		$Id_status=$liste_status[1];
     
       		foreach ($_POST['ChkBox'] as $Valuechk)
       	  {
     
       	  		if ($Valuechk == $Id_status) // il est coché
       	  		{
       	  				// on test si le champ existe deja
       	  				$Resultat=mysql_query("SELECT * FROM `model_code` WHERE (`Name_model_code` LIKE '$modelcode' AND `Id_status` LIKE '$Id_status')");
      						if (mysql_numrows($Resultat)==0) // Le modelcode n'est pas encore utilisé => on enregistre	
      						{
          				$sql=mysql_query("INSERT INTO `model_code`(Name_model_code, Id_status, Etat) VALUES('$modelcode','$Id_status', '1')");
          				}
         		  		else // il existe deja
         		  		{
         		  		$sql=mysql_query("UPDATE `model_code` SET Etat='1' WHERE (Name_model_code LIKE '$modelcode' AND Id_status LIKE '$Id_status')");	   
         		  		}
       	  		}
       	  		if ($Valuechk != $Id_status) // il est coché
       	  		{
       	  				// on test si le champ existe deja
       	  				$Resultat=mysql_query("SELECT * FROM `model_code` WHERE (`Name_model_code` LIKE '$modelcode' AND `Id_status` LIKE '$Id_status')");
      						if (mysql_numrows($Resultat)==0) // Le modelcode n'est pas encore utilisé => on enregistre	
      						{
          				$sql=mysql_query("INSERT INTO `model_code`(Name_model_code, Id_status, Etat) VALUES('$modelcode','$Id_status', '0')");
          				}
         		  		else // il existe deja
         		  		{
         		  		$sql=mysql_query("UPDATE `model_code` SET Etat='0' WHERE (Name_model_code LIKE '$modelcode' AND Id_status LIKE '$Id_status')");	   
         		  		}
       	  		}
     
       	  }

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut
    Je vais essayer ca

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

Discussions similaires

  1. Récupérer les valeurs de mes checkbox créées dynamiquement
    Par new_dreams dans le forum Composants
    Réponses: 2
    Dernier message: 28/03/2013, 23h41
  2. Réponses: 3
    Dernier message: 04/11/2009, 10h51
  3. récupérer valeurs d'un CHECKBOX avec name=nom[]
    Par Mickael Scofild dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 28/08/2007, 08h16
  4. Réponses: 2
    Dernier message: 24/08/2007, 14h25
  5. Réponses: 2
    Dernier message: 02/06/2007, 12h06

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