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écuperer mes valeur de checkox qui sont dans un IFRAME [MySQL]


Sujet :

PHP & Base de données

  1. #21
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Il faut que tu mettes des values différentes pour chacunes de tes checkbox, ensuite je t'ai donné un code qui permet de récupérer les checkbox dans un de mes permiers message.

    Avec une bête condition if tu peux voir si une valeur est cochée et l'afficher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if(isset($_POST['cb'])){
        $rapports = $_POST['cb'];		
        echo 'Vous avez coché : ';
        foreach($rapports as $rapport){
            if($rapport == 'la value') echo $rapport;
        }
    }

  2. #22
    Membre habitué
    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
    Points : 146
    Points
    146
    Par défaut
    j'ai essayé ton code ( jai juste modifier le nom des variables )

    mais il m'affiche une erreur :

    Warning: Invalid argument supplied for foreach() in C:\Program Files\EasyPHP 2.0b1\www\SellMate\Contacts\addcontacts.php on line 574
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if(isset($_POST['cb']))
    	{
        $rapports = $_POST['cb'];		
        echo 'Vous avez coché : ';
        	foreach($rapports as $rapports)
    		{
            if($rapports == 'la value') echo $rapports;
       		}
    	}

  3. #23
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Ce n'est pas ce que j'ai écris, regarde bien mon code ci-dessus.

  4. #24
    Membre habitué
    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
    Points : 146
    Points
    146
    Par défaut
    j'ai ceci :
    Vous avez coché :
    Warning: Invalid argument supplied for foreach() in C:\Program Files\EasyPHP 2.0b1\www\SellMate\Contacts\addcontacts.php on line 573
    avec ton code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if(isset($_POST['cb'])){
        $rapports = $_POST['cb'];		
        echo 'Vous avez coché : ';
        foreach($rapports as $rapport){
            if($rapport == 'la value') echo $rapport;
        }
    }

  5. #25
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Je viens de voir que tu n'avais pas non plus mis "cb" comme noms de checkbox.

    Il faut bien que tu assimiles le principe de : j'ai un input name="truc", en PHP je récupère $_POST['truc'].

  6. #26
    Membre habitué
    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
    Points : 146
    Points
    146
    Par défaut
    sisi je l'ai modifier par la suite.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    echo '<tr>
    							<td class="col3"><input type="checkbox" value="'. $donnees['Id_reports'].'" name="cb" />  
              					<td class="col4">' . $donnees['Name'] . '</td>';
              					$date= substr_replace($donnees['Date'], '', 7, 3);
              					echo '<td class="col5">' . $date . '</td>
            	 			 </tr>';
    avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if(isset($_POST['cb'])){
        $rapports = $_POST['cb'];		
        echo 'Vous avez coché : ';
        foreach($rapports as $rapport){
            if($rapport == 'la value') echo $rapport;
        }
    }
    et j'ai comme erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Vous avez coché : 
    Warning: Invalid argument supplied for foreach() in C:\Program Files\EasyPHP 2.0b1\www\SellMate\Contacts\addcontacts.php on line 573
    et la page généré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
    <tr>
    							<td class="col3"><input type="checkbox" value="9" name="cb" />  
              					<td class="col4">customer report 2006</td><td class="col5">2006-04</td>
            	 			 </tr><tr>
    							<td class="col3"><input type="checkbox" value="3" name="cb" />  
              					<td class="col4">financial reports 2003</td><td class="col5">2003-01</td>
            	 			 </tr><tr>
    							<td class="col3"><input type="checkbox" value="4" name="cb" />  
              					<td class="col4">financial reports 2005</td><td class="col5">2005-01</td>
            	 			 </tr><tr>
    							<td class="col3"><input type="checkbox" value="5" name="cb" />  
              					<td class="col4">report annual</td><td class="col5">2008-01</td>
            	 			 </tr><tr>
    							<td class="col3"><input type="checkbox" value="6" name="cb" />  
              					<td class="col4">time reports</td><td class="col5">2006-04</td>
            	 			 </tr><tr>
    							<td class="col3"><input type="checkbox" value="1" name="cb" />  
              					<td class="col4">World payement</td><td class="col5">2008-01</td>
            	 			 </tr>
    merci de m'aider encore une fois

  7. #27
    Membre habitué
    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
    Points : 146
    Points
    146
    Par défaut
    J'ai trouver

    Donc voici mon formulaire avec mes checkbox :

    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
    <table id="separation">
    					<?php 
     
    					$reponse = mysql_query("SELECT * FROM reports WHERE Listing=1 ORDER BY Name "); // Requête SQL 
    					$nb_entrees = mysql_num_rows($reponse);
    					// Puis on fait une boucle pour tout afficher.
    					while($donnees = mysql_fetch_array($reponse))
    					{ 
    	   				echo '<tr>
    							<td class="col3"><input type="checkbox" name="cb[]" value="'.$donnees['Id_reports'].'"">  
              					<td class="col4">' . $donnees['Name'] . '</td>';
              					$date= substr_replace($donnees['Date'], '', 7, 3);
              					echo '<td class="col5">' . $date . '</td>
            	 			 </tr>';
    					}
    					?>	          
    					</table>
    et je récupéré mes ID_reports des checkbox cochée comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if(isset($_POST['cb'])){
        $rapports = $_POST['cb'];		
        echo 'Vous avez coché : ';
        foreach($rapports as $rapport){
             echo $rapport;
    		 echo '</br>';
        }
    }
    Une dernière petite question.
    j'utilise une fonction qui fais l'insert dans ma base de données.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    addcontact($gender,$lname,$fname)
    comment lui passé les valeurs des rapports intéresse ? c'est possible de passé un tableau ou alors il faut créer x variables ?

    Merci

  8. #28
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Oui tu peux passer un tableau en paramètre à ta fonction et l'utiliser comme tu le souhaites dans ta fonction.

    Bonne journée

  9. #29
    Membre habitué
    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
    Points : 146
    Points
    146
    Par défaut
    je suis chiant mais comment faire pour mon exemple ?

    avoir un tableau qui contiendrait les id_reports

    merci encore

  10. #30
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    $_POST['cb'] est déjà un tableau

  11. #31
    Membre habitué
    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
    Points : 146
    Points
    146
    Par défaut
    oki j'ai reussi.

    ouf

    Juste un petit détail est-ce possible de mémoriser les checkbox cochée ?

    si par exemple je clic sur add mais que les conditions ne sont pas remplie il m'efface les checkbox que j'avais coché.

    Merci

  12. #32
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    tout est possible

    Utilises la propriété checked="checked" à mettre sur tes checkbox.

  13. #33
    Membre habitué
    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
    Points : 146
    Points
    146
    Par défaut
    Oui mais apparement ca ne marche pas trop... la condition me parait bonne...

    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
    <?php 
     
    					$reponse = mysql_query("SELECT * FROM reports WHERE Listing=1 ORDER BY Name "); // Requête SQL 
    					$nb_entrees = mysql_num_rows($reponse);
    					// Puis on fait une boucle pour tout afficher.
    					while($donnees = mysql_fetch_array($reponse))
    					{ 
    	   				echo '<tr>
    							<td class="col3"><input type="checkbox" name="cb[]" value="'.$donnees['Id_reports'].'" '; echo (isset($_POST['cb']) &&  $_POST['cb'] == ''.$donnees['Id_reports'].'')?'checked="checked"':''; echo'>  
              					<td class="col4">' . $donnees['Name'] . '</td>';
              					$date= substr_replace($donnees['Date'], '', 7, 3);
              					echo '<td class="col5">' . $date . '</td>
            	 			 </tr>';
    					}
    					?>

  14. #34
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Re,

    la condition est mauvaise et tu fais une concaténation inutile.

    $_POST['cb'] est un tableau qui contient plusieurs occurences, par exemple $_POST['cb'][0] est la première valeur choisie.

    la fonction in_array(); permet de savoir si une occurence se trouve dans un tableau.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo (isset($_POST['cb']) &&  in_array($donnees['Id_reports'],$_POST['cb'])) ? 'checked="checked"': '';
    simplifiable par ca si tu n'as rien a faire de la condition false :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if(isset($_POST['cb']) && in_array($donnees['Id_reports'],$_POST['cb'])) echo 'checked="checked"';

  15. #35
    Membre habitué
    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
    Points : 146
    Points
    146
    Par défaut
    je pense que je peux enfin passer le post en résolu.

    Une journée a programmer ca

    je te remercie beaucoup.

    ca a l'air simple comme ca mais c'est quand meme compliqué quand on ne la pas fais au moins une fois.

    Meci beaucoup de ta patiente en tous cas

  16. #36
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    ca a l'air simple comme ca mais c'est quand meme compliqué quand on ne la pas fais au moins une fois.
    Je suis entièrement d'accord, la compétence vient après l'expérience.

    Bonne fin de journée

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/12/2010, 11h39
  2. Comment éviter que google répete des mots qui sont dans la description du meta tag
    Par tese84 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 18/09/2006, 07h55
  3. Réponses: 1
    Dernier message: 29/08/2006, 14h45
  4. Réponses: 3
    Dernier message: 18/07/2006, 10h17
  5. Utiliser les options qui sont dans ma table
    Par valery17 dans le forum Access
    Réponses: 1
    Dernier message: 21/04/2006, 22h45

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