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 :

enregistre les valeurs de case à cocher dans la table


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 184
    Points : 65
    Points
    65
    Par défaut enregistre les valeurs de case à cocher dans la table
    bonjour,

    j'ai une table donc un champ contient des cases à cocher générer au fur et a mesure des enregistrements.
    j'aimerai savoir comment faire pour enregistrer la valeur de la case dans le champ qquand elle est est cochee en oui a la place de 0, si pas cochée c'est non.
    de plus je sais que je dois faire un update mais je ne sais comment inserer la valeur de la case.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <td style="background-color:<?php echo $couleur;?>"><input type="checkbox" name="resolu[]"/></td>
     
    $sql=$pdo->prepare("UPDATE ma_table SET RESOLUTION =?????????????????????, where id=".$id."  " ) or die (print_r($pdo->errorinfo())) ;
    $sql->execute(array(
                                ?????????   =>??????????
     
          					)) ;
    merci beaucoup

  2. #2
    Membre confirmé
    Homme Profil pro
    Déveleoppeur Web/Mobile
    Inscrit en
    Avril 2013
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Déveleoppeur Web/Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 330
    Points : 545
    Points
    545
    Par défaut
    Bonjour,

    Ta question est assez vague.
    En PHP, il te faut valider le formulaire, puis faire le traitement des données pour modifier ta BDD, un petit cours ici si tu débutes

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 184
    Points : 65
    Points
    65
    Par défaut
    Merci pour le lien,
    Pour résumé j'aimerai apres que ma case soit cochée faire un update de de ma checkbox dans ma table ( avec oui ou non en fonction que si elle est cochée ou pas)
    voici ce que j'ai fait ,(rien ne s'enregistre, et la case selectionnée ne reste pas cochee

    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
    <?php
    $capture = ( !empty($_POST['resolu'])) ? $_POST['resolu'] : ''; 
         if ($capture=="on")  
    	{$capture = 1 ;}     
     else     
    	 {$capture = 0 ;}
     
     
     
     while($Resultat =$sql->fetch())
    	 {
    	     $couleur="#FF0320" ; 
    	if ( !empty($Resultat['COMMENTAIRES'])  )
    		      {
    		        if($Resultat['RESOLU']=="oui")
    		          {
    		          $couleur="#FA9C05"	;
    		          }
    		        else
    		               {
    	                	$couleur="#03FF24"	;
     
    	                    }
    	    }
     
    <td style="background-color:<?php echo $couleur;?>"><?php echo $Resultat['NUM']; ?></td>
    	<td style="background-color:<?php echo $couleur;?>"><?php echo $Resultat['articles']; ?></td> 
    <td style="background-color:<?php echo $couleur;?>"><input type="checkbox" name="resolu[]" <?php ( !empty($_POST['resolu'])) ? 'checked="checked"' : '';
     
    $sql=$pdo->prepare("UPDATE messages SET RESOLUtion =:capture where NUM=".$capture."  " ) or die (print_r($pdo->errorinfo())) ;
    $sql->execute(array(
                                ':capture'   =>$capture
     
          					)) ;

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="resolu[]"/>
    Tu récupères donc par $_POST['resolu'] :
    • qui est un array()
    • qui ne contient QUE les cases COCHEES ! (seules les cases cochées sont transmises)


    $sql=$pdo->prepare("UPDATE messages SET RESOLUtion =:capture where NUM=".$capture." " ) or die (print_r($pdo->errorinfo())) ;
    1/ RESOLUtion : Tu as manifestement un problème avec les minuscules/majuscules !
    Si tu n'es pas plus vigilant,... il te faudra de meilleures lunettes

    2/ =:capture ... NUM=".$capture."
    Il faudrait savoir !
    Tu SAIS faire une requête préparée ou pas ?
    Là, tu fais les choses à moitié !

    3/ "UPDATE messages SET RESOLUtion =:capture where NUM=".$capture." "
    Donc... le champ "RESOLUtion" prend la même valeur que le champ "NUM".
    C'est bien ça ?

    BREF !
    Commence par mettre de l'ordre dans tes idées.
    Et commente ton code (explique ce que chaque ligne fait), tu verras s'il y a incohérence ou LOGIQUE.
    Dernière modification par Invité ; 20/04/2015 à 17h04.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 184
    Points : 65
    Points
    65
    Par défaut
    voici les corrections faites:
    je ne comprends pas pourquoi dans ma base de données je n'ai pas la valeur de la case.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    if(isset($_POST['resolu']) )
     
    	{$resolu = "oui" ;}     
    else     
    	 {$resolu = "non" ;}
     
     
    $sql2=$pdo->prepare("UPDATE messages SET RESOLU =:resolu, LOGIN=:login where NUM= '".$Resultat['NUM']."'  " ) or die (print_r($pdo->errorinfo())) ; 
    $sql2->execute(array( 
                         ':resolu'=>$resolu,
                         ':login'=>$login
    					                      )) ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="resolu[]" id="resolu" value=<?php echo $Resultat['NUM']; ?> />
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     array (size=3)
      'selNum' => string '1' (length=1)
      'resolu' => 
        array (size=1)
          0 => string '2' (length=1)
      'bouton' => string 'Envoyer' (length=7)

Discussions similaires

  1. [1.x] Enregistrer les valeurs d'un form dans la table d'un embedform
    Par noreaga10 dans le forum Symfony
    Réponses: 0
    Dernier message: 19/01/2010, 01h19
  2. Insertion des valeurs des cases à cocher dans la base de données
    Par ottoayoub dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 10/05/2009, 01h45
  3. [MySQL] Récupérer les valeurs des cases à cocher
    Par frankiboy dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 23/12/2008, 18h40
  4. Réponses: 15
    Dernier message: 21/12/2008, 20h31
  5. [MySQL] envoie les valeurs des cases à cocher
    Par soussan dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 19/06/2006, 18h18

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