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 :

Afficher le détail de chaque id dans une page


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    348
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 348
    Points : 54
    Points
    54
    Par défaut Afficher le détail de chaque id dans une page
    bonjour a tous

    je suis pêcheur et je viens de créer une base de donnée pour que mes amis puissent poster leurs journées de pêche

    les données du formulaires s insère bien dans la table
    la récupération via une page ne pose aucun soucis

    et j ai donc les journées de pêches les unes en dessous des autres dans une liste mais au vu des infos récoltées je n arrive pas a mettre toutes les données de chaque pêcheur sur une même ligne
    donc j aurais souhaiter que dans al liste apparaisse les données principale et qu en cliquant sur un lien en face de chaque journée on puisse voir el détail de la journée sur une autre page

    un peu comme ici lorsque on clic sur al loupe on voit le détail de la journée
    https://zupimages.net/up/21/05/7dev.jpg

    voici mon code pour afficher la liste principale

    merci de l aide
    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
    <?php
    if (mysqli_num_rows($result) > 0) {
    ?>
    <div class="container">
    <div class="container">
    <div class="row">
    <div class="col-sm">
    prenom
    </div>
    <div class="col-sm">
    lieu
    </div>
    <div class="col-sm">
    pseudo
    </div>
    </div>
    </div>
    <?php
    $i=0;
    while($row = mysqli_fetch_array($result)) {
    ?>
    <div class="container">
    <div class="row">
    <div class="col-sm">
    <?php echo $row["prenom"]; ?>
    </div>
    <div class="col-sm">
    <?php echo $row["lieu"]; ?>
    </div>
    <div class="col-sm">
    <?php echo $row["pseudo"]; ?>
    </div>
    </div>
    </div>
    <?php
    $i++;
    }
    ?>

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 213
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 213
    Points : 15 499
    Points
    15 499
    Par défaut
    là les journées sont réparties sur plusieurs jours et vous voulez toutes les journées sur une seule page mais regroupées par pécheur ?
    montrez nous aussi les structures des tables de la base de données.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    348
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 348
    Points : 54
    Points
    54
    Par défaut
    bonjour
    merci pour la reponse
    non en fait je souhaiterais la même chose que ce site

    https://www.alapeche.be/index.php?ma...turnid=38&p=38


    et que quand on clic sur la loupe j ai le détail de la journée
    oups j avais oublie la base de donnée

    https://zupimages.net/up/21/05/wbzq.jpg

  4. #4
    Membre du Club Avatar de RinaBK
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2021
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2021
    Messages : 92
    Points : 64
    Points
    64
    Par défaut
    Salut,
    Si j'ai bien compris ce que tu cherches à faire, il faut passer par les envois GET qui s'associe aux données passées par un lien.
    Dans ton lien, tu passes l'id de l'entrée de ta ligne. Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PageDeDestination.php?id=<?=$row["id"];?>
    Ensuite, dans la page de destination, tu récupères le numéro ID et tu peut afficher les données en utilisant la requête SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM nomTable WHERE id=".$_GET["id"]."
    • On dit que le ridicule ne tue pas; On dit aussi que ce qui nous tue pas, nous rends plus fort; Alors pourquoi ne pas dire : Le ridicule nous rends plus fort !
    • On reproche aux gens de parler d'eux-même; C'est pourtant le sujet qu'ils traitent le mieux !

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    348
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 348
    Points : 54
    Points
    54
    Par défaut
    bonjour


    merci pour la reponse
    oui c est bien cela
    mais les syntaxes ne semblent pas correcte

  6. #6
    Membre du Club Avatar de RinaBK
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2021
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2021
    Messages : 92
    Points : 64
    Points
    64
    Par défaut
    Oui, car se sont des exemples que tu dois modifier selon les données de tes pages.
    Tu as la page 1, qui comporte la liste des informations. Maintenant, si un utilisateur veut obtenir plus de détail sur un élément de la liste, il clique sur un lien qui accompagne les informations qui l'intéresse. Il sera alors redirigé sur la page 2 qui lui affichera tous les détails. On est bien d'accord sur ce principe?

    Voici une explication afin que tu comprennes le principe. J'espère que mon explication te conviendra Après, libre à toi d'utiliser ce principe là où tu en as besoin.


    Alors, dans la page 1, tu listes toutes les informations :

    1. information relative à l'entrée correspondant à l'ID 1...
    2. information relative à l'entrée correspondant à l'ID 2...
    3. information relative à l'entrée correspondant à l'ID 3...

    Chaque enregistrement comporte un ID qui est spécifique à chaque enregistrement.
    Le numéro ID va te servir de 'clé' pour pouvoir retrouver les informations sur la page 2.

    Dans la page 1, tu récupère chaque numéro ID de chaque enregistrement. Ce numéro ID va te servir à créer ta clé d'accès sur ton lien :


    1. information relative à l'entrée correspondant à l'ID 1... <a href="page2.php?id=<?=$row["id"];?>LIEN</a> Sur cette ligne $row["id"] = 1
    2. information relative à l'entrée correspondant à l'ID 2... <a href="page2.php?id=<?=$row["id"];?>LIEN</a> Sur cette ligne $row["id"] = 2
    3. information relative à l'entrée correspondant à l'ID 3... <a href="page2.php?id=<?=$row["id"];?>LIEN</a> Sur cette ligne $row["id"] = 3


    Sur la page 2, tu peux récupérer le numéro ID qui a été envoyé grâce au lien.
    Donc, si par exemple tu cliques sur le lien appartenant à l'entrée ID 3, tu devrais avoir dans le navigateur une adresse de type : www.tonsite.com/page2.php?id=3

    Ensuite, dans la page 2, tu devras aller chercher dans ta base de donnée les informations liée à l'entrée de l'ID 3.
    Ta requête SQL prendra alors une forme similaire à cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM nomTable WHERE id=$_GET["id"]
    La variable $_GET["id"] va aller chercher la variable id dans l'adresse qui est 3.

    Tu comprends un peu le principe ?
    Après, il te suffira de récupérer les informations pour les afficher.


    Maintenant, suite à cette explication, si tu n'as rien compris ou que rien ne fonctionne, donne-moi l'architecture de la table où son enregistrés les données.
    Je vais t'aider à mieux comprendre avec des exemples qui te seront plus approprié.
    Exemple :

    NomTable
    ID
    Nom
    Prenom
    Etc.




    J'ai observé ton code que tu as donné plus haut et je m'interroge sur certains points :
    1. Je ne comprends pas trop pourquoi tu incrémente la variable $i ? A quoi te sert-elle ?
    2. Je ne sais pas si ton serveur accepte les forme courte, mais la forme courte en PHP de <?php echo $row["pseudo"]; ?> est <?=$row["pseudo"];?>
    • On dit que le ridicule ne tue pas; On dit aussi que ce qui nous tue pas, nous rends plus fort; Alors pourquoi ne pas dire : Le ridicule nous rends plus fort !
    • On reproche aux gens de parler d'eux-même; C'est pourtant le sujet qu'ils traitent le mieux !

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    348
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 348
    Points : 54
    Points
    54
    Par défaut
    RinaBK waouhhhh
    super c est vraiment gentil de me donner une si belle explication , merci et merci , depuis le temps que cherche

    je me sis inspire au départ d un tuto que j ai trouve et qui est super bien fait

    j ai très bien compris le principe , expliqué de cette façon c est impossible de ne pas comprendre

    lorsque pour faire un test j ajoute cette ligne dans ma page 1

    <a href="page2.php?id=<?=$row["id"];?>LIEN</a>
    il semble y avoir une erreur de syntaxe
    je l ai modifie en
    <a href="page2.php"?id=<?php=$row["id"];?>LIEN</a>
    je pense que c est bon , je n ai aucune erreur

    j ai inséré cette ligne dans ce morceau de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <p>
    	 <a href="detail.php?id=<?=$row["id"];?>LIEN</a> 
        <strong> son numero id :</strong> : <?php echo $donnees['id']; ?><br />
        <strong> pseudo pecheur :</strong> : <?php echo $donnees['first_name']; ?><br />
       <strong> lieu partie peche :</strong><?php echo $donnees['last_name']; ?><br />
       <strong>dans le cours d eau :</strong><?php echo $donnees['city_name']; ?> <br />
        <strong>meteo du jour :</strong><?php echo $donnees['meteo']; ?>
        </strong>technique utilisee <strong><?php echo $donnees['technique']; ?> <br />
        <strong><?php echo $donnees['first_name']; ?> a attrappe :</strong> <em><?php echo $donnees['total']; ?></em><strong> poissons</strong>
       </p>
    et notepad++ colorie les éléments de façon a m indiquer qu une balise dans al ligne de code est mal fermée


    apparemment il manque aussi quelque chose dans cette syntaxe
    SELECT * FROM crud WHERE id=$_GET["id"]

    dans mon cas ce sont les utilisateurs qui emplissent la base de donnée via un formulaire
    donc est il possible de faire une boucle
    car je ne sais pas a l avance combien de id je pourrais avoir

    j essaye de m inspirer de ce site

    https://www.alapeche.be/index.php?p=...-de-peche.html

  8. #8
    Membre du Club Avatar de RinaBK
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2021
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2021
    Messages : 92
    Points : 64
    Points
    64
    Par défaut
    Je te remercie

    Citation Envoyé par flexi2202 Voir le message
    lorsque pour faire un test j ajoute cette ligne dans ma page 1

    <a href="page2.php?id=<?=$row["id"];?>LIEN</a>
    il semble y avoir une erreur de syntaxe
    Effectivement, il y a une belle erreur de syntaxe
    Mais là, je plaide coupable. Vu que qu’était un exemple, je ne me suis pas gaffée et j'ai du écrire un peu trop vite.
    Voici la syntaxe correct que tu peux ajouter à ta page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="page2.php?id=<?=$row['id'];?>">LIEN</a>
    Bien évidement, tu dois modifier page2.php avec le nom de ta page de destination. Donc, la page où tu voudrais afficher tous les détails.
    Ce lien doit être placé dans la page1.


    Aussi, j'ai observé ton code et il comporte quelques erreurs. Je pense que tu t'es un peu perdu au niveau du HTML, car une balise s'ouvre et se ferme en utilisant le slash comme ceci :
    Je me suis permise de corriger ton code.
    Si ton serveur accepte la forme courte de PHP, tu peux utiliser ce code ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <p>
    	<a href="detail.php?id=<?=$donnees['id'];?>" target="_parent" title="Cliquez ici pour voir plus de détails">Voir les détails du membre</a> 
    	<strong> son numero id :</strong> : <?=$donnees['id']; ?><br />
    	<strong> pseudo pecheur :</strong> : <?=$donnees['first_name']; ?><br />
    	<strong> lieu partie peche :</strong><?=$donnees['last_name']; ?><br />
    	<strong>dans le cours d eau :</strong><?=$donnees['city_name']; ?> <br />
    	<strong>meteo du jour :</strong><?=$donnees['meteo']; ?>
    	<strong>technique utilisee </strong><?=$donnees['technique']; ?> <br />
    	<strong><?=$donnees['first_name']; ?> a attrappe :</strong> <em><?=$donnees['total']; ?></em><strong> poissons</strong>
    </p>
    En revanche, si ton serveur n’accepte pas la forme courte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <p>
    	<?php echo '<a href="detail.php?id='.$donnees['id'].'" target="_parent" title="Cliquez ici pour voir plus de détails">Voir les détails du membre</a> '; ?>
    	<strong> son numero id :</strong> : <?php echo $donnees['id']; ?><br />
    	<strong> pseudo pecheur :</strong> : <?php echo $donnees['first_name']; ?><br />
    	<strong> lieu partie peche :</strong><?php echo $donnees['last_name']; ?><br />
    	<strong>dans le cours d eau :</strong><?php echo $donnees['city_name']; ?> <br />
    	<strong>meteo du jour :</strong><?php echo $donnees['meteo']; ?>
    	<strong>technique utilisee </strong><?php echo $donnees['technique']; ?> <br />
    	<strong><?php echo $donnees['first_name']; ?> a attrappe :</strong> <em><?php echo $donnees['total']; ?></em><strong> poissons</strong>
    </p>
    Nous sommes bien d'accord que ce bout de code appartient à la page 1 et que lorsque l'on clique sur le lien, on est redirigé vers une autre page qui propose plus de détail.





    EDIT :
    Citation Envoyé par flexi2202 Voir le message
    apparemment il manque aussi quelque chose dans cette syntaxe
    SELECT * FROM crud WHERE id=$_GET["id"]
    Donne moi le code complet où tu as placé cette ligne. Que je regarde ce qui ne vas pas
    • On dit que le ridicule ne tue pas; On dit aussi que ce qui nous tue pas, nous rends plus fort; Alors pourquoi ne pas dire : Le ridicule nous rends plus fort !
    • On reproche aux gens de parler d'eux-même; C'est pourtant le sujet qu'ils traitent le mieux !

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    348
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 348
    Points : 54
    Points
    54
    Par défaut
    Merci pour cette aide vraiment très bien détaillée
    un vrai plaisir a lire

    oui oui juste j avais oublie de fermer une balise

    c est exactement cela lorsque l utilisateur va cliquer sur afficher les détails une nouvelle page s ouvre detail.php avec le détail de la journée de pêche

    voici le code (c est juste un exemple ) de la page detail.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    	<p>
     
    		SELECT * FROM 'crud' WHERE id=$_GET["id"];
    		<strong> nombre de goujon:</strong> : <?php echo $donnees['goujon']; ?><br />
    		<strong> nombre de truite :</strong><?php echo $donnees['truite']; ?><br />
    		<strong>nombre de breme :</strong><?php echo $donnees['breme']; ?> <br />
    		<strong>nombre de tanche :</strong><?php echo $donnees['tanche']; ?>
    		<strong>nombre de gardon</strong><?php echo $donnees['gardon']; ?> <br />
     
    	</p>
    ?>
    merci pour l aide

  10. #10
    Membre du Club Avatar de RinaBK
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2021
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2021
    Messages : 92
    Points : 64
    Points
    64
    Par défaut
    Avec plaisir

    En effet, c'est sur que comme cela ton code ne peut pas fonctionner.
    Il est nécessaire d'aller chercher tes infos dans la base de données et pour cela tu dois utiliser les fonctions PHP qui te permettent de le faire, comme ceci :
    Code PHP : 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
    <?php
    if ($sql = mySqli_query($cdb,'SELECT * FROM crud WHERE id='.$_GET['id'])) {
    	if ($sql) {
    		while ($donnee = mysqli_fetch_array($sql)) {
    			?>
    			<p>
    				<strong> nombre de goujon:</strong> : <?php echo $donnees['goujon']; ?><br />
    				<strong> nombre de truite :</strong><?php echo $donnees['truite']; ?><br />
    				<strong>nombre de breme :</strong><?php echo $donnees['breme']; ?> <br />
    				<strong>nombre de tanche :</strong><?php echo $donnees['tanche']; ?>
    				<strong>nombre de gardon</strong><?php echo $donnees['gardon']; ?> <br />
    			</p>
    			<?
    		}
    	}
    }
    ?>
    La variable $cdb, tu dois la modifier avec la variable que tu récupères lors de ta connexion à ta base de données. Je parle de la connexion que tu as du formuler plus ou moins comme ceci.
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $host = 'localhost'; // Adresse de ta base de donnée
    $user = 'user'; // Nom d'utilisateur pour ta connexion à ta base de donnée
    $pass = 'mdp'; // Mot de passe pour la connexion à ta base de donnée
    $base = 'NameBase'; // Nom de ta base de donnée
    $cdb= mySqli_connect($host,$user,$pass,$base);
    • On dit que le ridicule ne tue pas; On dit aussi que ce qui nous tue pas, nous rends plus fort; Alors pourquoi ne pas dire : Le ridicule nous rends plus fort !
    • On reproche aux gens de parler d'eux-même; C'est pourtant le sujet qu'ils traitent le mieux !

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    348
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 348
    Points : 54
    Points
    54
    Par défaut
    merci pour cette aide précieuse
    mais j ai une erreur a la dernière ligne

    Parse error: syntax error, unexpected end of file in

    la connexion a ma base de donnée ce fait avec ce 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
    <?php
     
    try{
     
    $bdd= new PDO('mysql:host=localhost;dbname=crud;charset=utf8','root','');
     
    $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     
    }
     
    catch(Exception $e)
     
    {
     
    die('Erreur:' . $e->getMessage());
     
    }
     
    ?>
    j ai donc modifier La variable $cdb en $bdd

  12. #12
    Membre du Club Avatar de RinaBK
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2021
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2021
    Messages : 92
    Points : 64
    Points
    64
    Par défaut
    Ah oui, donc là on ne parle plus de la même chose ! Lorsque j'ai lu ton premier message, tu utilisais la fonction : if (mysqli_num_rows($result) > 0) {....}
    Et mysqli_ n'est pas du tout appropriée à de la PDO ! Donc effectivement, rien ne peut fonctionner correctement..

    Je vais être honnête avec toi, je débute en PDO et ce n'est pas mon point fort. Ceci-dit, je vais quand-même essayer de t'aider du mieux que je peux

    Tu peux oublier toutes tes fonctions PHP mysqli_, car elles ne sont pas du tout adapté à de la PDO.
    On va commencer par le début du début, se sera plus simple. Dans ta page 1, comment récupères-tu tes données pour afficher la listes de tes informations qui sont enregistrés dans ta base de donnée ? Peux-tu me copier/coller ton code ?
    • On dit que le ridicule ne tue pas; On dit aussi que ce qui nous tue pas, nous rends plus fort; Alors pourquoi ne pas dire : Le ridicule nous rends plus fort !
    • On reproche aux gens de parler d'eux-même; C'est pourtant le sujet qu'ils traitent le mieux !

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    348
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 348
    Points : 54
    Points
    54
    Par défaut
    Merci pour la réponse et cette aide

    en fait pour commencer je me suis inspire de plusieurs sources trouvée sur des tutos

    et puis tout doucement j ai commence a modifier les code et c est vrai que je viens de me rendre que je suis en train de mélanger deux choses le PDO et le mysqli

    et je me suis surement embrouille les pinceaux en assemblant des morceaux entre eux


    on peux le faire en mysqli , je n ai pas de préférence

    donc voici la page ou j insère les données , je dois changer la mise en page et la mettre responsive , mais cela c est pour quand tout sera fonctionnel

    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
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8" />
    <title> </title>
    <style>
    p{
    width: 55%;
    margin-left: 30%;
    font-size: 20px;
    font-weight: bold;
    }
    input{
    width: 30%;
    margin-left: 32%;
    font-size: 20px;
    font-weight: bold;
    }
    h1{
    width:50%;
    margin: auto;
    border: 2px dotted black;
    padding: 8px;
    text-align: center;
    background-color: greenyellow;
    }
    h2{
    width:40%;
    margin: auto;
    text-align: center;
    border: 2px dotted blue;
    padding: 8px;
    background-color: aqua;
    }
    </style>
    </head>
    <body>
    <div class="container">
    <form method="post" action="testprocess.php">
    <h1>Les details de ta journee de peche</h1>
    <br />
    <div class="element">
    <p> <span style="color:red; background-color:yellow;">Quelques détails sur toi:</span> </p>
    <p>ton prenom ou pseudo: </p>
    <input type="text" name="first_name" required>
    <p>ton nom: </p>
    <input type="text" name="last_name" required>
    <p>ton email: </p>
    <input type="email" name="email" required>
    </div>
    <div class="element">
    <br />
    <h2>les lieux de peche !<br /> exemple: landelies ,abbaye,paris,bruxelles , ect... </h2>
    <br />
    <input type="text" name="city_name" required>
    <br /><br />
    <h2>Le nom du cours d'eau: <br />Sambre,Meuse,loise, ect... </h2>
    <br />
    <input type="text" name="cours_do" required>
    <br />
    </div>
    <br />
    <div class="element">
    <h2>La duree de ta seance de peche </h2>
    <p>
    <select name="duree" required>
    <option value="">--duree seance de peche--</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
    </select>
    </p>
    </div>
    <div class="element">
    <h2>les sortes et quantité de poissons capturés </h2>
    </div>
    <p>Nombre de Gardons: </p>
    <input id="number" type="number" value="0" type="text" name="gardon">
    <p>Nombre de Bremes: </p>
    <input id="number" type="number" value="0" type="text" name="breme">
    <p>Nombre de Tanches: </p>
    <input id="number" type="number" value="0" type="text" name="tanche">
    <p>Nombre de Carpes: </p>
    <input id="number" type="number" value="0" type="text" name="carpe">
    <p>Nombre de Carassins: </p>
    <input id="number" type="number" value="0" type="text" name="carassin">
    <p>Nombre d'Ides: </p>
    <input id="number" type="number" value="0" type="text" name="ides">
    <p>Nombre d'd'Hybrides: </p>
    <input id="number" type="number" value="0" type="text" name="hybride">
    <p>Nombre Perches: </p>
    <input id="number" type="number" value="0" type="text" name="perche">
    <p>Nombre d'Ablettes: </p>
    <input id="number" type="number" value="0" type="text" name="ablette">
    <p>Nombre de Rotengles: </p>
    <input id="number" type="number" value="0" type="text" name="rotengle">
    <p>Nombre de sandres: </p>
    <input id="number" type="number" value="0" type="text" name="sandre">
    <p>Nombre de Brochets: </p>
    <input id="number" type="number" value="0" type="text" name="brochet">
    <p>Nombre d'Anguilles: </p>
    <input id="number" type="number" value="0" type="text" name="anguille">
    <p>Nombre de Goujons: </p>
    <input id="number" type="number" value="0" type="text" name="goujon">
    <p>Nombre de Gobies: </p>
    <input id="number" type="number" value="0" type="text" name="gobies">
    <p>de Truite: </p>
    <input id="number" type="number" value="0" type="text" name="truite">
    <br />
    <h2 >esches utilisees et meteo </h2>
    <p>esches utilisees: </p>
    <input type="checkbox" name="technique[]" value="perle">perle
    <input type="checkbox" name="technique[]" value="graine">graines
    <input type="checkbox" name="technique[]" value="asticot">asticot/pinkies
    <input type="checkbox" name="technique[]" value="pelets">pelets
    <input type="checkbox" name="technique[]" value="vaseux">vaseux
    <br />
    <h2>meteo: </h2>
    <input type="checkbox" name="meteo[]" value="vent">vent
    <input type="checkbox" name="meteo[]" value="pluie">pluie
    <input type="checkbox" name="meteo[]" value="neige">neige
    <input type="checkbox" name="meteo[]" value="soleil">soleil
    <input type="checkbox" name="meteo[]" value="nuageux">nuageux
    <br />
    <input type="submit" name="submit" value="save" />
    <br />
    </form>
    </div>
    </body>
    </html>
    ensuite la page de 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
    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
    <?php
    session_start();
    include_once 'database.php';
    if(isset($_POST['submit']) )
    {
    $first_name = $_POST['first_name'];
    $last_name = $_POST['last_name'];
    $city_name = $_POST['city_name'];
    $email = $_POST['email'];
    $gardon = $_POST['gardon'];
    $breme = $_POST['breme'];
    $tanche = $_POST['tanche'];
    $carpe = $_POST['carpe'];
    $carassin = $_POST['carassin'];
    $ides = $_POST['ides'];
    $hybride = $_POST['hybride'];
    $perche = $_POST['perche'];
    $ablette = $_POST['ablette'];
    $rotengle = $_POST['rotengle'];
    $sandre= $_POST['sandre'];
    $brochet = $_POST['brochet'];
    $anguille = $_POST['anguille'];
    $goujon = $_POST['goujon'];
    $gobies = $_POST['gobies'];
    $truite = $_POST['truite'];
    $cours_do = $_POST['cours_do'];
    $duree = $_POST['duree'];
    $checkbox1 = $_POST['technique'];
    $chk="";
    foreach($checkbox1 as $chk1)
    {
    $chk.= $chk1.",";
    }
    $checkbox2 = $_POST['meteo'];
    $chkx="";
    foreach($checkbox2 as $chk2)
    {
    $chkx.= $chk2.",";
    }
    $total=$gardon+$breme+$tanche+$carpe+$carassin+$ides+$hybride+$perche+$ablette+$rotengle+$sandre+$brochet+$anguille+$goujon+$truite+$gobies ;
    $req= $bdd->prepare('INSERT INTO employee(first_name,last_name,city_name,email,gardon,breme,tanche,carpe,carassin,ides,hybride,perche,ablette,rotengle,sandre,brochet,anguille,goujon,gobies,truite,cours_do, duree,technique,meteo,total,date_inscription) VALUES(:first_name,:last_name,:city_name,:email,:gardon,:breme,:tanche,:carpe,:carassin,:ides,:hybride,:perche,:ablette,:rotengle,:sandre,:brochet,:anguille,:goujon,:gobies,:truite,:cours_do, :duree,:technique,:meteo,:total,CURDATE())');
    $req->execute(array(
    'first_name' => $first_name,
    'last_name' => $last_name,
    'city_name' => $city_name ,
    'email' => $email,
    'gardon' => $gardon, 'breme' => $breme ,'tanche' => $tanche,'carpe' => $carpe,'carassin' => $carassin,'ides' => $ides, 'hybride' => $hybride,'perche' => $perche,'ablette' => $ablette,'rotengle' => $rotengle,
    'sandre' => $sandre,'brochet' => $brochet,'anguille' => $anguille ,'goujon' => $goujon,
    'gobies' => $gobies,'truite' => $truite, 'cours_do' => $cours_do, 'duree' => $duree, 'technique' => $chk,'meteo' => $chkx ,'total' => $total ));
    echo " Vos données sont enregistrées";
    }
    ?>
    la page de connexion
    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
    <?php
     
    try{
     
    $bdd= new PDO('mysql:host=localhost;dbname=crud;charset=utf8','root','');
     
    $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     
    }
     
    catch(Exception $e)
     
    {
     
    die('Erreur:' . $e->getMessage());
     
    }
     
    ?>
    la page principale de récupération des données

    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
    <?php
    try
    {
        // On se connecte à MySQL
        $bdd = new PDO('mysql:host=localhost;dbname=crud;charset=utf8', 'root', '');
    }
    catch(Exception $e)
    {
        // En cas d'erreur, on affiche un message et on arrête tout
            die('Erreur : '.$e->getMessage());
    }
     
    // Si tout va bien, on peut continuer
     
    // On récupère tout le contenu de la table employe
    $reponse = $bdd->query('SELECT * FROM employee');
     
    // On affiche chaque entrée une à une
    while ($donnees = $reponse->fetch())
    {
    ?>
     
     
    <p>
    	<?php echo '<a href="detail.php?id='.$donnees['id'].'" target="_parent" title="Cliquez ici pour voir plus de détails">Voir les détails du membre</a> '; ?>
    	<strong> son numero id :</strong> : <?php echo $donnees['id']; ?><br />
    	<strong> pseudo pecheur :</strong> : <?php echo $donnees['first_name']; ?><br />
    	<strong> lieu partie peche :</strong><?php echo $donnees['last_name']; ?><br />
    	<strong>dans le cours d eau :</strong><?php echo $donnees['city_name']; ?> <br />
    	<strong>meteo du jour :</strong><?php echo $donnees['meteo']; ?>
    	<strong>technique utilisee </strong><?php echo $donnees['technique']; ?> <br />
    	<strong><?php echo $donnees['first_name']; ?> a attrappe :</strong> <em><?php echo $donnees['total']; ?></em><strong> poissons</strong>
    </p>
    <?php
    }

    et la page detail.php

    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
    <?php
    if ($sql = mySqli_query($bdd,'SELECT * FROM crud WHERE id='.$_GET['id'])) {
    	if ($sql) {
    		while ($donnee = mysqli_fetch_array($sql)) {
    			?>
    			<p>
    				<strong> nombre de goujon:</strong> : <?php echo $donnees['goujon']; ?><br />
    				<strong> nombre de truite :</strong><?php echo $donnees['truite']; ?><br />
    				<strong>nombre de breme :</strong><?php echo $donnees['breme']; ?> <br />
    				<strong>nombre de tanche :</strong><?php echo $donnees['tanche']; ?>
    				<strong>nombre de gardon</strong><?php echo $donnees['gardon']; ?> <br />
    			</p>
    			<?
    		}
    	}
    }
    ?>

  14. #14
    Membre du Club Avatar de RinaBK
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2021
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2021
    Messages : 92
    Points : 64
    Points
    64
    Par défaut
    Ok, je vois le tableau et je comprends mieux pourquoi tout coince. Il y a pas mal de chose à revoir dans les codes de tes fichiers... J'ai un sujet que j'ai ouvert qui va très certainement t'aider et tu vas aussi pouvoir apprendre à utiliser la PDO si tu suis les explications et les exemples qui sont donnés. Vu que je ne suis pas encore au point en PDO et que tu as déjà pas mal avancer sur tes pages, je ne voudrais pas t'induire en erreur en pensant bien faire. Le mieux, je pense, est d'aller voir mon sujet, car il y a vraiment tout ce qu'il faut pour que tu puisses avancer correctement.

    Clique ici pour rejoindre mon sujet
    • On dit que le ridicule ne tue pas; On dit aussi que ce qui nous tue pas, nous rends plus fort; Alors pourquoi ne pas dire : Le ridicule nous rends plus fort !
    • On reproche aux gens de parler d'eux-même; C'est pourtant le sujet qu'ils traitent le mieux !

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    348
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 348
    Points : 54
    Points
    54
    Par défaut
    ah oui en effet cela a l air très intéressant

    en attendant je viens de trouver un site qui réunit tout ce que je cherche

    sauf cette fameuse page pour afficher les détails

    voici le lien pour ceux que cela intéressé
    https://www.studentstutorial.com/php...a-retrieve.php
    dans cet exemple tout simple si je voudrais a nouveau afficher les données de la table sur une feuille detail.php
    le code serait le suivant si j ai bien compris

    database.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    $servername='localhost';
    $username='root';
    $password='';
    $dbname = "crud";
    $conn=mysqli_connect($servername,$username,$password,"$dbname");
    if(!$conn){
       die('Could not Connect My Sql:' .mysql_error());
    }
    ?>

    insert.php
    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
    <!DOCTYPE html>
    <html>
      <body>
    	<form method="post" action="process.php">
    		First name:<br>
    		<input type="text" name="first_name">
    		<br>
    		Last name:<br>
    		<input type="text" name="last_name">
    		<br>
    		City name:<br>
    		<input type="text" name="city_name">
    		<br>
    		Email Id:<br>
    		<input type="email" name="email">
    		<br><br>
    		<input type="submit" name="save" value="submit">
    	</form>
      </body>
    </html>
    process.php
    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
    <?php
    include_once 'database.php';
    if(isset($_POST['save']))
    {	 
    	 $first_name = $_POST['first_name'];
    	 $last_name = $_POST['last_name'];
    	 $city_name = $_POST['city_name'];
    	 $email = $_POST['email'];
    	 $sql = "INSERT INTO employee (first_name,last_name,city_name,email)
    	 VALUES ('$first_name','$last_name','$city_name','$email')";
    	 if (mysqli_query($conn, $sql)) {
    		echo "New record created successfully !";
    	 } else {
    		echo "Error: " . $sql . "
    " . mysqli_error($conn);
    	 }
    	 mysqli_close($conn);
    }
    ?>
    retrieve.php
    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
    <?php
    try
    {
        // On se connecte à MySQL
        $bdd = new PDO('mysql:host=localhost;dbname=crud;charset=utf8', 'root', '');
    }
    catch(Exception $e)
    {
        // En cas d'erreur, on affiche un message et on arrête tout
            die('Erreur : '.$e->getMessage());
    }
     
    // Si tout va bien, on peut continuer
     
    // On récupère tout le contenu de la table employe
    $reponse = $bdd->query('SELECT * FROM employee');
     
    // On affiche chaque entrée une à une
    while ($donnees = $reponse->fetch())
    {
    ?>
     
     
    <p>
    	<?php echo '<a href="detail.php?id='.$donnees['id'].'" target="_parent" title="Cliquez ici pour voir plus de détails">Voir les détails du membre</a> '; ?>
    	<strong> son numero id :</strong> : <?php echo $donnees['id']; ?><br />
    	<strong> first_name:</strong> : <?php echo $donnees['first_name']; ?><br />
    	<strong> last_name :</strong><?php echo $donnees['last_name']; ?><br />
    	<strong>city_name:</strong><?php echo $donnees['city_name']; ?> <br />
     
    </p>
    <?php
    }


    et pour les détails en imaginant que je veux récupérer a nouveau les mêmes infos

    detail.php
    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
    <?php
    if ($sql = mySqli_query($conn,'SELECT * FROM crud WHERE id='.$_GET['id'])) {
    	if ($sql) {
    		while ($donnee = mysqli_fetch_array($sql)) {
    			?>
    			<p>
    				<strong> first_name:</strong> : <?php echo $donnees['first_name']; ?><br />
    				<strong> last_name :</strong><?php echo $donnees['last_name']; ?><br />
    				<strong>city_name":</strong><?php echo $donnees['city_name"']; ?> <br />
    				<strong>email:</strong><?php echo $donnees['email']; ?>
     
    			</p>
    			<?
    		}
    	}
    }
    ?>

  16. #16
    Membre du Club Avatar de RinaBK
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2021
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2021
    Messages : 92
    Points : 64
    Points
    64
    Par défaut
    Tu as ton formulaire qui envoie ces données via la PDO. Donc, ce n'est pas une bonne idée de passer ensuite en mysqli... Soit tu fait tout en mysqli, soit en PDO, mais ce n'est vraiment pas une bonne idée de tout mélanger. Du moins, je ne te le conseil vraiment pas.

    - Voici un tuto sur la PDO
    • On dit que le ridicule ne tue pas; On dit aussi que ce qui nous tue pas, nous rends plus fort; Alors pourquoi ne pas dire : Le ridicule nous rends plus fort !
    • On reproche aux gens de parler d'eux-même; C'est pourtant le sujet qu'ils traitent le mieux !

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    348
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 348
    Points : 54
    Points
    54
    Par défaut
    ouppsss désole me suis trompe de code pour
    retrieve.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <p>
    	<a href="detail.php?id=<?=$donnees['id'];?>" target="_parent" title="Cliquez ici pour voir plus de détails">Voir les détails du membre</a> 
    	<strong> son numero id :</strong> : <?=$donnees['id']; ?><br />
    	<strong> first_name :</strong> : <?=$donnees['first_name']; ?><br />
    	<strong> last_name' :</strong><?=$donnees['last_name']; ?><br />
    	<strong>city_name :</strong><?=$donnees['city_name']; ?> <br />
     
    </p>
    de cette façon c est bien du mysqli partout?

    merci de l aide

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    348
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 348
    Points : 54
    Points
    54
    Par défaut
    voila le code pour la récupération des données
    donc a présent comment faire pour que je puisse la rediriger vers la page detail.php

    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
    include_once 'database.php';
    $result = mysqli_query($conn,"SELECT * FROM employee");
    ?>
    <!DOCTYPE html>
    <html>
     <head>
     <title> Retrive data</title>
     </head>
    <body>
    <?php
    if (mysqli_num_rows($result) > 0) {
    ?>
      <table>
     
      <tr>
        <td>First Name</td>
        <td>Last Name</td>
        <td>City</td>
        <td>Email id</td>
      </tr>
    <?php
    $i=0;
    while($row = mysqli_fetch_array($result)) {
    ?>
    <tr>
        <td><?php echo $row["first_name"]; ?></td>
        <td><?php echo $row["last_name"]; ?></td>
        <td><?php echo $row["city_name"]; ?></td>
        <td><?php echo $row["email"]; ?></td>
    </tr>
    <?php
    $i++;
    }
    ?>
    </table>
     <?php
    }
    else{
        echo "No result found";
    }
    ?>
     </body>
    </html>
    derniere ligne droite

  19. #19
    Membre du Club Avatar de RinaBK
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2021
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2021
    Messages : 92
    Points : 64
    Points
    64
    Par défaut
    Hmm.. ton code est du mysqli... Pourquoi ne veux-tu pas utiliser la PDO ??
    • On dit que le ridicule ne tue pas; On dit aussi que ce qui nous tue pas, nous rends plus fort; Alors pourquoi ne pas dire : Le ridicule nous rends plus fort !
    • On reproche aux gens de parler d'eux-même; C'est pourtant le sujet qu'ils traitent le mieux !

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    348
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 348
    Points : 54
    Points
    54
    Par défaut
    bonjour

    merci pour l aide

    car tout les tutos que j ai trouve pour la suite sont plus base sur le mysqli
    notamment un espace membre

    de plus je pense mieux me sentir a l aise avec mysqli

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/01/2011, 17h58
  2. Afficher le contenu d'un dictionary dans une page web
    Par Zakapatul dans le forum VB.NET
    Réponses: 3
    Dernier message: 02/09/2008, 19h46
  3. Afficher un document XML en mémoire dans une page HTML
    Par anthonyd dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 12/09/2007, 13h00
  4. Afficher la topologie d'un réseau dans une page web
    Par hamidi dans le forum Graphisme
    Réponses: 3
    Dernier message: 29/06/2007, 12h42
  5. Afficher le contenu d'un dossier dans une page HTML
    Par mauriceuh dans le forum Balisage (X)HTML et validation W3C
    Réponses: 23
    Dernier message: 20/02/2007, 17h57

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