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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    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
    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
    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 averti
    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
    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
    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 averti
    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
    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 émérite 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 : 61
    Localisation : Belgique

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    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 averti
    Inscrit en
    Mai 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 15
    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)."' ";
     
    			}
    	}
     
    }
     
    ?>

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