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 :

Checkbox tableau afficher


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 27
    Points : 18
    Points
    18
    Par défaut Checkbox tableau afficher
    Bonjour à tous,
    Je suis débutante en php/mysql.
    Voici mon petit programme :

    Dans une première page j'enregistre des personnes avec un formulaire(nom,prenom,age,ville,date etc).
    Dans phpmyadmin tout correspond donc jusque là c'est parfait!
    Ensuite dans une deuxième page je demande de m'afficher dans un tableau les données de phpmyadmin, la encore ça marche.

    Enfin pour finir et clôturer mon programme je mets une checkbox sur chaque ligne de mon tableau ça parfait!

    CEPENDANT j'aimerais que si je coche 2 checkbox au hasard (ou plus) et bien dans une autre page elle m'affiche seulement les données de ces lignes qui ont été coché.
    afin que je l'imprime (ça je me suis renseigner sur l'impression c'est facile).

    Mais c'est juste le passage avec les checkbox qui me bloque =)

    Je ne sais pas comment lui dire d'allez chercher que les checkbox coché et de m'afficher les informations relatives à leur propre ligne (nom,prénom,age,ville, etc)

    Merci d'avance à tous (ça doit vous paraitre super simple ^^)
    Bise

    Voici mon bout de 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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    <?php
    session_start();
    echo'<div id="contenuscrollbar2">';
    echo'<table bgcolor="#000">'."\n";
     
    	  echo '<tr>';
    	  echo '<td bgcolor="#fff"><b><u>nom</u></b></td>';
    	  echo '<td bgcolor="#fff"><b><u>prenom</u></b></td>';
    	  echo '<td bgcolor="#fff"><b><u>age</u></b></td>';
    	  echo '<td bgcolor="#fff"><b><u>ville</u></b></td>';
    	  echo '</tr>'."\n";
     
    while ($data = mysql_fetch_array($req)) { 
     
          // on affiche les résultats
             echo '<form action =infirmiere.php method = post />'; 
             echo '<td class="registered"  bgcolor="#fff" align=center><input type="checkbox" name="checkbox" value="checkbox"></td>'; 
     
    	  echo '<td class="registered" bgcolor="#fff">'.$data['nom'].'</td>';
    	  echo '<td class="registered" bgcolor="#fff">'.$data['prenom'].'</td>';
    	  echo '<td class="registered" bgcolor="#fff">'.$data['age'].'</td>';
    	  echo '<td class="registered" bgcolor="#fff">'.$data['ville'].'</td>';   
    	  echo '</tr>'."\n";
    }
    echo '</form>'; 
    echo '</table>'."\n";
    echo'</div>';
     
    ?>
     
    <form method="POST" action="test.php">
    <strong>Voir les choix</strong><br/>
    <input type="submit" value="choix" name="generer">
    </form>
     
    <?php
    include('bdd.php');
     
    	if(isset($_POST['generer']))
    	{
            echo'????';
            }
     
    ?>

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2012
    Messages : 6
    Points : 10
    Points
    10
    Par défaut
    Salut lola08250.

    Il faut savoir que tu peux passer un groupe de checkbox par formulaire. Regarde ce formulaire par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <form method="post" action="">
    <label for="titi">Je suis titi </label><input type="checkbox" name="coord[]" value="titi" id="titi" />
    <label for="toto">Je suis titi </label><input type="checkbox" name="coord[]" value="toto" id="toto" />
    <label for="tata">Je suis titi </label><input type="checkbox" name="coord[]" value="tata" id="tata" />
    <label for="tutu">Je suis titi </label><input type="checkbox" name="coord[]" value="tutu" id="tutu" />
    </form>
    Lorsque tu envoies ce formulaire avec les cases de titi et tata cochées (par exemple) tu obtiendras une variable de type tableau (array) dont le nom est $_POST['coord'], dont la taille est 2 et dont le contenu est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Array (
    [0] => 'titi',
    [1] => 'tata',
    )
    Ainsi lorsque tu traites le formulaire tu peux savoir si au moins 2 cases ont été cochées avec la fonction count().

    Là j'ai passé des chaînes (titi, tata etc...) mais vaut mieux passer des id pour ensuite faire la recherche dans ta base de données.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 27
    Points : 18
    Points
    18
    Par défaut
    Merci Hydride mais en faite la c'est pas au niveau du formulaire.

    Dans le code que j'ai mis je crée un tableau dans lequel j'entre les données automatiquement de ma Base De Données mysql. (nom,prenom etc..) et ensuite je mets une checkbox devant chaque ligne.
    il n'y a pas une checkbox pour nom, une pour prenom
    je sais pas si je m'exprime bien ou sinon j'ai mal compris ton explication (je connais pas ta méthode)

    biz

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2012
    Messages : 6
    Points : 10
    Points
    10
    Par défaut
    Je me suis peut être mal expliqué.

    Tu as une boucle qui à chaque passage s'occupe de remplir une ligne du tableau avec 1 checkbox. Et bien comme name des checkbox tu mets coord[] (pour toutes les checkbox tu mets coord[]) et comme value tu mets l'id de la ligne correpondant au couple (nom ; prénom).

    Si tu as 3 lignes dans ta bdd qui sont

    1 => nom1 prenom1
    2 => nom2 prenom2
    3 => nom3 prenom3
    tu auras ainsi un formulaire avec 3 lignes et 3 chexbox qui seront :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <input type="checkbox" name="coord[]" value="1" />
    <input type="checkbox" name="coord[]" value="2" />
    <input type="checkbox" name="coord[]" value="3" />
    Et pour le traitement tu obtiendras un tableau contenant les id des couples (nom ; prénom) qui sont représentés par le value dans le formulaire.

    Voici la boucle dans ton cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    while ($data = mysql_fetch_array($req)) { 
     
    // on affiche les résultats
    echo '<form action =infirmiere.php method = post />'; 
    echo '<td class="registered" bgcolor="#fff" align=center><input type="checkbox" name="coord[]" value="'.$data['id'].'"></td>'; 
     
    echo '<td class="registered" bgcolor="#fff">'.$data['nom'].'</td>';
    echo '<td class="registered" bgcolor="#fff">'.$data['prenom'].'</td>';
    echo '<td class="registered" bgcolor="#fff">'.$data['age'].'</td>';
    echo '<td class="registered" bgcolor="#fff">'.$data['ville'].'</td>'; 
    echo '</tr>'."\n";
    }
    Par contre, attention je vois que tu as mis le <form> dans la boucle ... ?

    Pour comprendre soumets le formulaire et fais un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo '<pre>';
    print_r($_POST['coord']);
    echo '</pre>';
    ça va t'afficher les checkbox cochées.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 27
    Points : 18
    Points
    18
    Par défaut
    Ah je commence à comprendre le principe.
    la première checkbox cochée sera la 1
    elle enregistre l'id de la ligne qui comprend nom,prenom etc...
    puis à la fin sur une nouvelle page j'appelle juste cette checkbox qui a gardé en mémoire l'id et donc nom,prénom etc

    reste plus qu'à afficher la checkbox ^^


    voila ce que j'ai fais
    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
    40
    41
    42
    43
    44
    45
    46
     
    <?php
    session_start();
    echo'<div id="contenuscrollbar2">';
    echo'<table bgcolor="#000">'."\n";
     
    echo '<tr>';
    echo '<td bgcolor="#fff"><b><u>nom</u></b></td>';
    echo '<td bgcolor="#fff"><b><u>prenom</u></b></td>';
    echo '<td bgcolor="#fff"><b><u>age</u></b></td>';
    echo '<td bgcolor="#fff"><b><u>ville</u></b></td>';
    echo '</tr>'."\n";
     
    echo '<form action =infirmiere.php method = post />';
     
    while ($data = mysql_fetch_array($req)) {
     
    // on affiche les résultats
     
    echo '<td class="registered" bgcolor="#fff" align=center><input type="checkbox" name="coord[]" value="'.$data['id'].'"></td>'; 
     
    echo '<td class="registered" bgcolor="#fff">'.$data['nom'].'</td>';
    echo '<td class="registered" bgcolor="#fff">'.$data['prenom'].'</td>';
    echo '<td class="registered" bgcolor="#fff">'.$data['age'].'</td>';
    echo '<td class="registered" bgcolor="#fff">'.$data['ville'].'</td>';
    echo '</tr>'."\n";
    }
    echo '</form>';
    echo '</table>'."\n";
    echo'</div>';
     
    ?>
     
    <form method="POST" action="test.php">
    <strong>Voir les choix</strong><br/>
    <input type="submit" value="choix" name="generer">
    </form>
     
    <?php
     
    if(isset($_POST['generer']))
    {	
    	echo'$_POST['coord']';
    }
     
    ?>
    Merci j'avance super vite grâce à toi ! je bug encore un peu sur l'affichage ^^

  6. #6
    Membre éprouvé Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Points : 1 103
    Points
    1 103
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if(isset($_POST['generer']))
    {	
      if(isset($_POST["coord"]))
      {
    	foreach ($_POST["coord"] as $key => $val)
    	{
    		echo " id = ".$val."<br/>";
    	}
      }
    }

  7. #7
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 15
    Points : 16
    Points
    16
    Par défaut
    hello,

    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    <?php
    session_start();
    echo'<div id="contenuscrollbar2">';
    echo'<table bgcolor="#000">'."\n";
     
    echo '<tr>';
    echo '<td bgcolor="#fff"><b><u>nom</u></b></td>';
    echo '<td bgcolor="#fff"><b><u>prenom</u></b></td>';
    echo '<td bgcolor="#fff"><b><u>age</u></b></td>';
    echo '<td bgcolor="#fff"><b><u>ville</u></b></td>';
    echo '<td bgcolor="#fff"><b><u>Ligne pr checkbox</u></b></td>';
    echo '</tr>'."\n";
     
    echo '<form action ="infirmiere.php" method = "post" />';
     
    while ($data = mysql_fetch_array($req)) {
     
    // on affiche les résultats
     
    echo '<td class="registered" bgcolor="#fff" align=center><input type="checkbox" name="coord[]" value="'.$data['id'].'"></td>'; 
     
    echo '<td class="registered" bgcolor="#fff">'.$data['nom'].'</td>';
    echo '<td class="registered" bgcolor="#fff">'.$data['prenom'].'</td>';
    echo '<td class="registered" bgcolor="#fff">'.$data['age'].'</td>';
    echo '<td class="registered" bgcolor="#fff">'.$data['ville'].'</td>';
    echo '</tr>'."\n";
    }
    echo '</table>'."\n";
     
    // code ajouter
    echo '<strong>Voir les choix</strong><br/>';
    echo'<input type="submit" value="choix" name="generer">';
    echo '</form>';
     
     
     
    echo'</div>';
     
    ?>
     
     page "infirmiere.php"
     
    <?php
     
    if(isset($_POST['generer']))
    {	
    	if (isset($_POST['coord']))
    	{
    		foreach($_POST['coord'] as $personnesID)
    			{						
    				// tu affiches les donnees pr chaque Personne sélectionner
    				$requete = "SELECT * FROM table WHERE id ='".int($personneID)."' ";
     
    			}
    	}
     
    }
     
    ?>

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 27
    Points : 18
    Points
    18
    Par défaut
    oulala je dois avoir un gros problème de code ça ne marche toujours pas pourtant je comprends ce que vous écrivez, les lignes de code ..

    Bon voila ma page en entier peut être ça vous aidera plus

    Encore merci à tous pour vos réponse ça fait plaisir ! bise

    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
     
    <!DOCTYPE html>
    <?php
    include('bdd.php');
    ?>
    <html>
    <head>
    <title>Page infirmière RDV</title>
     
    <link rel="stylesheet" type="text/css" href="style.css"/>
     
    </head>
    <body>
     
    <h4>Liste des I.D.E</h4>
     
    <div id="separator">
    </div>
     
    <div id="infirmiere">
     
    <h4>Liste des Patients</h4>	
     
    <?php
     
    $sql = 'SELECT nom,prenom,adresse,ville,cp,tel,cause,date,id_rdv FROM clients,rdv WHERE id_clients = clients.id  AND date = CURRENT_DATE() ORDER BY ville';  
     
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
     
    	$ur = 'Urine';
    	$sg = 'Sang';
    	$ly = 'lymph';
     
    echo'<div id="contenuscrollbar2">';
    echo'<table  width="850" bgcolor="#000">'."\n";
     
    	  echo '<tr>';
     
    	  echo '<td bgcolor="#fff"><b><u>choix</u></b></td>';
    	  echo '<td bgcolor="#fff"><b><u>ville</u></b></td>';
    	  echo '<td bgcolor="#fff"><b><u>cp</u></b></td>';
    	  echo '<td bgcolor="#fff"><b><u>nom</u></b></td>';
    	  echo '<td bgcolor="#fff"><b><u>prenom</u></b></td>';
    	  echo '<td bgcolor="#fff"><b><u>adresse</u></b></td>';
    	  echo '<td bgcolor="#fff"><b><u>tel</u></b></td>';
    	  echo '<td bgcolor="#fff"><b><u>cause</u></b></td>';
    	  echo '<td bgcolor="#fff"><b><u>date</u></b></td>';
    	  echo '<td bgcolor="#fff"><b><u>id_rdv</u></b></td>';
    	  echo '<td bgcolor="#fff"><b><u>infirmier</u></b></td>';
     
    	  echo '</tr>'."\n";
     
    // on va scanner tous les tuples un par un
    echo '<form action =infirmiere.php method = post />'; 
    while ($data = mysql_fetch_array($req)) { 
     
          // on affiche les résultats
    echo '<tr>';
     
    	  echo '<td class="registered" bgcolor="#fff" align=center><input type="checkbox" name="coord[]" value="'.$data['nom'].'"></td>'; 
     
    	  echo '<td class="registered" bgcolor="#fff" width="100">'.$data['ville'].'</td>';
    	  echo '<td class="registered" bgcolor="#fff" width="50">'.$data['cp'].'</td>';  
    	  echo '<td class="registered" bgcolor="#fff" width="50">'.$data['nom'].'</td>';
    	  echo '<td class="registered" bgcolor="#fff" width="50">'.$data['prenom'].'</td>';
    	  echo '<td class="registered" bgcolor="#fff">'.$data['adresse'].'</td>';
    	  echo '<td class="registered" bgcolor="#fff">'.$data['tel'].'</td>';   
     
    	   if($data['cause'] == 1){
    	  echo '<td class="registered" bgcolor="#fff">'.$sg.'</td>';  
    	  $date = new DateTime($data['date']);
    	  echo '<td class="registered" bgcolor="#fff">'.$date->format('d/m/Y').'</td>';
    	  }
    	   if($data['cause'] == 2){
    	   echo '<td class="registered" bgcolor="#fff">'.$ur.'</td>';  
    	  $date = new DateTime($data['date']);
    	  echo '<td class="registered" bgcolor="#fff">'.$date->format('d/m/Y').'</td>';
    	  }
    	  else{
    	  echo '<td class="registered" bgcolor="#fff">'.$ly.'</td>';  
    	  $date = new DateTime($data['date']);
    	  echo '<td class="registered" bgcolor="#fff">'.$date->format('d/m/Y').'</td>';
    	  }  
     
    	  echo '<td class="registered" bgcolor="#fff">'.$data['id_rdv'].'</td>';   
    	  echo '</tr>'."\n";
    }
     
    echo '</form>'; 
    echo '</table>'."\n";
    echo'</div>';
     
    mysql_free_result ($req);  
    mysql_close ();  
    ?>
    <form method="POST" action="infirmiere.php">
    <strong>Voir les choix</strong><br/>
    <input type="submit" value="choix" name="generer">
    </form>
     
    <?php
    include('bdd.php');
     
    if(isset($_POST['generer']))
    {	
    	if (isset($_POST['coord']))
    	{
    		foreach($_POST['coord'] as $personnesID)
    			{						
    				// tu affiches les donnees pr chaque Personne sélectionner
    				$requete = "SELECT * FROM clients WHERE nom ='".int($personneID)."' ";
     
    			}
    	}
     
    }
    ?>
     
    </div>
    </body>
    </html>

  9. #9
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 15
    Points : 16
    Points
    16
    Par défaut
    la 2eme Form n'a rien avoir avoir la premiere ...
    Essaie le code que j'ai poster

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 27
    Points : 18
    Points
    18
    Par défaut
    j'avais simplifié le code pour vous aider mais j'aurais pas du désolé :s

  11. #11
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2012
    Messages : 6
    Points : 10
    Points
    10
    Par défaut
    Je comprends mal cette requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php
    $requete = "SELECT * FROM clients WHERE nom ='".int($personneID)."' ";
    C'est pas plutôt :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php
    $requete = "SELECT * FROM clients WHERE id ='".(int)$personneID."' ";
    Là j'ai juste rajouté un cast pour assurer un entier.

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 27
    Points : 18
    Points
    18
    Par défaut
    J'ai trouvé juste des soucis de code html
    Biz à tous !

Discussions similaires

  1. créer un tableau, afficher des données et plus
    Par NicoO_O dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 13/04/2007, 12h16
  2. si checkbox cochée afficher une alerte lors du clic sur OK
    Par Nemesys dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 06/04/2007, 14h10
  3. Réponses: 20
    Dernier message: 22/01/2006, 02h21
  4. écrire dans un tableau affiché à l'écran
    Par grinder59 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/01/2006, 18h23
  5. algorithme de tri tableau :afficher que les éléments unique
    Par sofiane61 dans le forum Algorithmes et structures de données
    Réponses: 19
    Dernier message: 31/03/2005, 19h50

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