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 :

Erreur dans mon formulaire


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2014
    Messages : 36
    Points : 8
    Points
    8
    Par défaut Erreur dans mon formulaire
    Bonjour j'ai un gros soucis et ça fais 1 semaine que je bloque et que je n'arrive pas a trouver la réponse. Je me considère comme débutant et j'aimerai que quelqu'un puisse m'aider en corrigeant mon code. Il se situe dans la page de gestion des membres de mon site, je voudrai avoir la possibilité de supprimer le membre que je choisit quand je clic dessus. Je n'arrive pas à attribuer la valeur 0 qui veut dire qu'on n'affiche pas le membre à l'id ou j'ai cliqué sur le bouton.

    voici le formulaire

    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
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
    <head>
    *****<meta http-equiv="content-type" content="text/html; charset=utf-8" />
    *****<title>Affichage en colonne avec BD - solution 2</title>
    </head>
    *
    <body>
    *
    <table border=1> <h1> Athlètisme </h1>
    ****<thead><tr>
    ***********<th>ID</th>
    ***********<th>Nom</th>
    ***********<th>Prenom</th>
    ***********<th>Sexe</th>
    ***********<th>Classe</th>
    *************
    ************<th>Statut</th>
    *******</tr>
    ***</thead>
    *****
    *******
    <?php //Connection avec la BDD.
    *
    *
    ********mysql_connect("localhost", "root", "");
    ********mysql_select_db("test");
    *********
    ********$reponse = mysql_query("SELECT id, nom, prenom, date_de_naissance, sexe, classe, sport, statut FROM eleves WHERE statut= '1' AND sport= 'Athlètisme'");
    *********
    **********while($_POST = mysql_fetch_array($reponse))
    ************{
    ************?>
    *******
    ****<tbody>
    ******************
    ********************<td><?php echo $_POST['id'];?></td>
    ********************<td><?php echo $_POST['nom'];?></td>
    ********************<td><?php echo $_POST['prenom'];?></td>
    ********************<td><?php echo $_POST['sexe'];?></td>
    ********************<td><?php echo $_POST['classe'];?></td>
    *********************
    ********************<td>
    *********************
    ********************<a href="validation.php?id=<?php echo uniqid('id');?>">Page B</a>
    *********************
    *********************
    ****</tbody>
    *****
    *****<?php
    *************//fin de la boucle, le tableau contient toute la BDD
    ***********} mysql_close(); //deconnection de mysql
    ************?>
    et voici le traitement

    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
    <?php
    *
    *
    // Connexion à la base de données
    try
    {
    ****$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
    }
    catch(Exception $e)
    {
    ********die('Erreur : '.$e->getMessage());
    }
    *
    // Insertion du message à l'aide d'une requête préparée
    $id = $_GET['id'];
    $req = $bdd->prepare('UPDATE eleves SET statut = 0 WHERE id=$id');
    $req->execute(array());
    *
    *
    // Redirection
    *
    ?>

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    qu'est ce que vient faire uniqueid() dans ton code ?
    Il devrait être remplacé par l'id du membre.

    Par ailleurs faire while($_POST = mysql_fetch_array($reponse)) est très mauvais. Le super tableau $_POST est réservé aux données issues des formulaires et à rien d'autre. Normalement, on le réserve qu'en lecture seule, il faut absolument éviter de le manipuler:

    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
    while($row = mysql_fetch_array($reponse))
    {
    ?>
     
    <tbody>
     
    <td><?php echo $row['id'];?></td>
    <td><?php echo $row['nom'];?></td>
    <td><?php echo $row['prenom'];?></td>
    <td><?php echo $row['sexe'];?></td>
    <td><?php echo $row['classe'];?></td>
     
    <td>
     
    <a href="validation.php?id=<?php echo $row['id'];?>">Page B</a>
    Pense aussi à échapper tes données avec htmlspecialchars()

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Novembre 2012
    Messages : 17
    Points : 23
    Points
    23
    Par défaut
    Ligne 45, tu as
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo uniqid('id');?>
    il faudrait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $_POST['id'];?>
    uniqid() te permet de créer un identifiant unique et ne reprend donc pas l'id du membre !
    De plus, tu utilises les fonctions mysql_... d'un côté et PDO de l'autre. Ce n'est pas gênant en soit, mais pas très propre, je te conseille de tout passer en PDO (mysql_... arrive en fin de vie et sera rapidement supprimée des prochaines versions PHP)

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Cela donnerait quelque chose comme ça :
    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
     
    mysql_connect("localhost", "root", "");
    mysql_select_db("test");
     
    $reponse = mysql_query("SELECT id, nom, prenom, date_de_naissance, sexe, classe, sport, statut FROM eleves WHERE statut= '1' AND sport= 'Athlètisme'");
    $rows    = array();
    $hsc     = function($p) { return htmlspecialchars($p, ENT_QUOTES, 'utf-8'); };
     
    while($row = mysql_fetch_array($reponse))
    {
        $rows[] = <<<html
    <td>{$hsc($row['id'])}</td>
    <td>{$hsc($row['nom'])}</td>
    <td>{$hsc($row['prenom'])}</td>
    <td>{$hsc($row['sexe'])}</td>
    <td>{$hsc($row['classe'])}</td>
    <td><a href="validation.php?id={$row['id']}">Page B</a></td>
    html;
    }
     
    ?>
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>Affichage en colonne avec BD - solution 2</title>
    </head>
    <body>
        <table border=1>
            <h1> Athlètisme </h1>
            <thead>
                <tr>
                    <th>ID</th>
                    <th>Nom</th>
                    <th>Prenom</th>
                    <th>Sexe</th>
                    <th>Classe</th>
                    <th>Statut</th>
                </tr>
            </thead>
            <tbody>
                <?php echo implode('', $rows); ?>
            </tbody>
    Pour le traitement avec PDO, tu as une erreur dans le sql : les placeholder se repèrent avec cette syntaxe : :placeholder et non avec $placeholder.

    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
    try
    {
        $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
    }
    catch(Exception $e)
    {
        die('Erreur : '.$e->getMessage());
    }
     
    // Insertion du message à l'aide d'une requête préparée
    $id = (isset($_GET['id'])) ? (int)$_GET['id'] : 0;
    if ($id)
    {
        $req = $bdd->prepare('UPDATE eleves SET statut = 0 WHERE id = :id');    
        $req->execute(array(':id' => $id));
    }
    Tu dois te pencher sur la doc, c'est bien expliqué et des exemples y en a à foison

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2014
    Messages : 36
    Points : 8
    Points
    8
    Par défaut
    voilà ça marche cependant j'ai 2 tableau au lieu de 1. A quoi sert $row ?

    A chaque id il recréer un tableau et ajoute un autre id à chaque fois qu'il y en a

    style :


    Athlètisme

    Nom Prenom Sexe Classe Statut
    Dupuis Florian Masculin Terminale Page B
    Athlètisme

    Nom Prenom Sexe Classe Statut
    Dupuis Florian Masculin Terminale Page B Masculin Terminale Page B
    Athlètisme

    Nom Prenom Sexe Classe Statut
    Dupuis Florian Masculin Terminale Page B Masculin Terminale Page B Masculin Terminale Page B
    Athlètisme

    Nom Prenom Sexe Classe Statut
    Dupuis Florian Masculin Terminale Page B Masculin Terminale Page B Masculin Terminale Page B Masculin Terminale Page B

  6. #6
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Bah j'suis un âne, j'ai oublié de gérer les lignes dans le corps du tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $rows[] = <<<html
    <tr>    
        <td>{$hsc($row['id'])}</td>
        <td>{$hsc($row['nom'])}</td>
        <td>{$hsc($row['prenom'])}</td>
        <td>{$hsc($row['sexe'])}</td>
        <td>{$hsc($row['classe'])}</td>
        <td><a href="validation.php?id={$row['id']}">Page B</a></td>
    </tr>
    html;
    La variable $row sert à stocker chaque ligne d'enregistrement renvoyé par $reponse

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2014
    Messages : 36
    Points : 8
    Points
    8
    Par défaut
    j'ai reussi à tout mettre dans le même tableau mais j'ai plusieurs fois la même id dedans

    on dirai que pour intégrer une autre id dans le tableau il est obligé de refaire en boucle l'intégration des autres idée de 1 je passe a 2 de 2 à 3 etc...

  8. #8
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Rassure moi, dans ta table la colonne id est bien INTEGER AUTONUM ?

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2014
    Messages : 36
    Points : 8
    Points
    8
    Par défaut
    AUTO INCREMENT ? Oui

  10. #10
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    tu peux poster le code source html de la page générée stp

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2014
    Messages : 36
    Points : 8
    Points
    8
    Par défaut
    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
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>Affichage en colonne avec BD - solution 2</title>
    </head>
    <body>
        <table border=1>
            <h1> Athlètisme </h1>
            <thead>
                <tr>
     
                    <th>Nom</th>
                    <th>Prenom</th>
                    <th>Sexe</th>
                    <th>Classe</th>
                    <th>Statut</th>
                </tr>
            </thead>
     
            <tbody>
                <tr>    
        <td>4</td>
        <td></td>
        <td></td>
        <td>Masculin</td>
        <td>Terminale</td>
        <td><a href="validation.php?id=4">Page B</a></td>
    </tr>        </tbody>
     
     
            <tbody>
                <tr>    
        <td>4</td>
        <td></td>
        <td></td>
        <td>Masculin</td>
        <td>Terminale</td>
        <td><a href="validation.php?id=4">Page B</a></td>
    </tr><tr>    
        <td>5</td>
        <td></td>
        <td></td>
        <td>Masculin</td>
        <td>Terminale</td>
        <td><a href="validation.php?id=5">Page B</a></td>
    </tr>        </tbody>
     
     
     
    </html>
    merci de ton aide

  12. #12
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Bon y a une co..lle dans le potage : comment tu peux avoir plusieurs tags <tbody> dans le corps du tableau ??
    Poste l'intégralité du code de génération de la page

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2014
    Messages : 36
    Points : 8
    Points
    8
    Par défaut
    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
     
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>Affichage en colonne avec BD - solution 2</title>
    </head>
    <body>
        <table border=1>
            <h1> Athlètisme </h1>
            <thead>
                <tr>
     
                    <th>Nom</th>
                    <th>Prenom</th>
                    <th>Sexe</th>
                    <th>Classe</th>
                    <th>Statut</th>
                </tr>
            </thead>
    <?php
     
    mysql_connect("localhost", "root", "");
    mysql_select_db("test");
     
    $reponse = mysql_query("SELECT id, nom, prenom, date_de_naissance, sexe, classe, sport, statut FROM eleves WHERE statut= '1' AND sport= 'Athlètisme'");
    $rows    = array();
    $hsc     = function($p) { return htmlspecialchars($p, ENT_QUOTES, 'utf-8'); };
     
    while($row = mysql_fetch_array($reponse))
    {
    //La variable $row sert à stocker chaque ligne d'enregistrement renvoyé par $reponse
     $rows[] = <<<html
    <tr>    
        <td>{$hsc($row['id'])}</td>
        <td>{$hsc($row['nom'])}</td>
        <td>{$hsc($row['prenom'])}</td>
        <td>{$hsc($row['sexe'])}</td>
        <td>{$hsc($row['classe'])}</td>
        <td><a href="validation.php?id={$row['id']}">Page B</a></td>
    </tr>
    html;
     
    ?>
     
            <tbody>
                <?php echo implode('', $rows); ?>
            </tbody>
     
    	 <?php 
                 //fin de la boucle, le tableau contient toute la BDD
               } mysql_close(); //deconnection de mysql
                ?>
     
     
    </html>

  14. #14
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Ecoute, si je t'ai repris le code d'une certaine manière c'est pour que tu le teste tel quel.
    Ma version du code ne génère pas ce problème alors que la tienne...

    Il faut toujours séparer les traitements PHP de la vue et pour cela, il faut toujours rassembler tout le code PHP relatif au traitement en début du fichier et finir par le code HTML de la vue.

    Ensuite, il y a des enregistrements sans nom, prénom... c'est normal ?

    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
    <?php
     
    mysql_connect("localhost", "root", "");
    mysql_select_db("test");
     
    $reponse = mysql_query("SELECT id, nom, prenom, date_de_naissance, sexe, classe, sport, statut FROM eleves WHERE statut= '1' AND sport= 'Athlètisme'");
    $rows    = array();
    $hsc     = function($p) { return htmlspecialchars($p, ENT_QUOTES, 'utf-8'); };
     
    while($row = mysql_fetch_array($reponse))
    {
        $rows[] = <<<html
    <tr>
        <td>{$hsc($row['id'])}</td>
        <td>{$hsc($row['nom'])}</td>
        <td>{$hsc($row['prenom'])}</td>
        <td>{$hsc($row['sexe'])}</td>
        <td>{$hsc($row['classe'])}</td>
        <td><a href="validation.php?id={$row['id']}">Page B</a></td>
    </tr>
    html;
    }
     
    ?>
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>Affichage en colonne avec BD - solution 2</title>
    </head>
    <body>
    <h1> Athlètisme </h1>
    <table border=1>
        <thead>
            <tr>
                <th>ID</th>
                <th>Nom</th>
                <th>Prenom</th>
                <th>Sexe</th>
                <th>Classe</th>
                <th>Statut</th>
            </tr>
        </thead>
        <tbody>
            <?php echo implode('', $rows); ?>
        </tbody>
    </table>
    </body>
    </html>

  15. #15
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2014
    Messages : 36
    Points : 8
    Points
    8
    Par défaut
    oui j'a pris ton code mais je l'ai modifier car j'ai ça qui s'affiche en code source ...

    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
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>Affichage en colonne avec BD - solution 2</title>
    </head>
    <body>
    <h1> Athlètisme </h1>
    <table border=1>
        <thead>
            <tr>
                <th>ID</th>
                <th>Nom</th>
                <th>Prenom</th>
                <th>Sexe</th>
                <th>Classe</th>
                <th>Statut</th>
            </tr>
        </thead>
        <tbody>
            <tr>
        <td>4</td>
        <td></td>
        <td></td>
        <td>Masculin</td>
        <td>Terminale</td>
        <td><a href="validation.php?id=4">Page B</a></td>
    </tr>    </tbody>
    </table>
    </body>
     
     
    	 <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>Affichage en colonne avec BD - solution 2</title>
    </head>
    <body>
    <h1> Athlètisme </h1>
    <table border=1>
        <thead>
            <tr>
                <th>ID</th>
                <th>Nom</th>
                <th>Prenom</th>
                <th>Sexe</th>
                <th>Classe</th>
                <th>Statut</th>
            </tr>
        </thead>
        <tbody>
            <tr>
        <td>4</td>
        <td></td>
        <td></td>
        <td>Masculin</td>
        <td>Terminale</td>
        <td><a href="validation.php?id=4">Page B</a></td>
    </tr><tr>
        <td>5</td>
        <td></td>
        <td></td>
        <td>Masculin</td>
        <td>Terminale</td>
        <td><a href="validation.php?id=5">Page B</a></td>
    </tr>    </tbody>
    </table>
    </body>
     
     
     
     
    </html>
    et oui pour les id sans nom et prenom c'est normal

  16. #16
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2014
    Messages : 36
    Points : 8
    Points
    8
    Par défaut
    sujet resolu il fallait juste modifier la position de la fermeture SQL

    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
    <?php
     
    mysql_connect("localhost", "root", "");
    mysql_select_db("test");
     
    $reponse = mysql_query("SELECT id, nom, prenom, date_de_naissance, sexe, classe, sport, statut FROM eleves WHERE statut= '1' AND sport= 'Athlètisme'");
    $rows    = array();
    $hsc     = function($p) { return htmlspecialchars($p, ENT_QUOTES, 'utf-8'); };
     
    while($row = mysql_fetch_array($reponse))
    {
        $rows[] = <<<html
    <tr>
        <td>{$hsc($row['id'])}</td>
        <td>{$hsc($row['nom'])}</td>
        <td>{$hsc($row['prenom'])}</td>
        <td>{$hsc($row['sexe'])}</td>
        <td>{$hsc($row['classe'])}</td>
        <td><a href="validation.php?id={$row['id']}">Page B</a></td>
    </tr>
    html;
     
    ?>
    	 <?php 
                 //fin de la boucle, le tableau contient toute la BDD
               } mysql_close(); //deconnection de mysql
                ?>
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>Affichage en colonne avec BD - solution 2</title>
    </head>
    <body>
    <h1> Athlètisme </h1>
    <table border=1>
        <thead>
            <tr>
                <th>ID</th>
                <th>Nom</th>
                <th>Prenom</th>
                <th>Sexe</th>
                <th>Classe</th>
                <th>Statut</th>
            </tr>
        </thead>
        <tbody>
     
            <?php echo implode('', $rows); ?>
        </tbody>
    </table>
    </body>
     
     
     
     
     
    </html>

  17. #17
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Tu n'as pas à te préoccuper de la fermeture de la connexion, php le fait automatiquement à la fin du script

    PS: bouton Résolu stp

  18. #18
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2014
    Messages : 36
    Points : 8
    Points
    8
    Par défaut
    j'ai du partir rapidement j'ai pas eu le temps de le faire parce que je voulais avant tout te remercier de m'avoir aider, tu viens de m'enlever un belle épine du pied. Merci beaucoup

  19. #19
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2014
    Messages : 36
    Points : 8
    Points
    8
    Par défaut
    Salut merci encore pour m'avoir aider la dernière fois.

    Je voulais juste de demander sur une autre page j'aimerai afficher exactement la même chose cependant avec des valeurs $_GET d'une url

    Je passe en fait des valeurs dans une URL comme ça

    Code html : 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
    <center><form method="get" action="convo.php">
    	<h2> Convocations </h2>
    	<br>Sport:<select value="sport" name="sport">
        <option value="Athlètisme">Athlètisme</option>
        <option value="Badminton">Badminton</option>
        <option value="CO">Course d'orientation</option>
        <option value="Cross">Cross</option>
    	<option value="Football">Football</option>
    	<option value="Futsal">Futsal</option>
    	<option value="Gymnastique">Gymnastique</option>
    	<option value="Danse">Danse</option>
    	<option value="Judo">Judo</option>
    	<option value="Handball">Handball</option>
    	<option value="VTT">VTT</option>
    	<option value="Tennis_de_table">Tennis de table</option>
    	<option value="tir_a_arc">Tire à l'arc</option>
    </select>
    Classe:<select value="classe" name="classe">
        <option value="Terminale">Terminale</option>
        <option value="Première">Première</option>
        <option value="Seconde">Seconde</option>
        <option value="Troisième">Troisième</option>
    	<option value="Quatrième">Quatrième</option>
    	<option value="Cinquième">Cinquième</option>
    	<option value="Sixième">Sixième</option>
    </select>    
    <input method="get" type="submit" value="Afficher" />

    et je voudrais afficher uniquement les membres qui ont les valeurs que j'ai rentré

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    mysql_connect("localhost", "root", "");
    mysql_select_db("test");
    // ici on récupère la variable passer en GET
    $classe = $_GET [ 'classe' ];
    $sport = $_GET [ 'sport' ];
    $reponse = mysql_query("SELECT id, nom, prenom, date_de_naissance, sexe, classe, sport, statut FROM eleves WHERE classe= $classe AND sport= '$sport' ");
    $rows    = array();
    ......
    et ça ne marche pas ça doit être un truc tout bête mais je ne trouve pas

    Merci d'avance

  20. #20
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par WebDup Voir le message
    ça ne marche pas ça doit être un truc tout bête mais je ne trouve pas
    "ça ne marche pas" n'est pas un message d'erreur recevable...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Erreur de paramètre dans mon formulaire
    Par cdevl32 dans le forum Langage
    Réponses: 10
    Dernier message: 25/08/2009, 10h13
  2. [MySQL] Erreur dans mon formulaire
    Par rane dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 19/07/2006, 14h06
  3. [langage]erreur dans mon script
    Par Fabouney dans le forum Langage
    Réponses: 11
    Dernier message: 30/06/2005, 14h58
  4. [Lien]erreur dans mon programme python
    Par durnambule dans le forum Général Python
    Réponses: 11
    Dernier message: 29/01/2004, 14h59

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