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 :

Lien à attribuer pour chaque entrée d'une table


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Lien à attribuer pour chaque entrée d'une table
    Bonjour tout le monde.
    J'ai fait une base de donnée (vente d'outils informatique) afin d'afficher son contenu sur mon site. Mais y a un truc que j'arrive pas à faire, c'est d'attribuer à chaque entrée son propre lien afin de pouvoir voire la description détaillée de chaque produit séparément.
    Pour que vous compreniez mieux mon problème, je veux que par exemple l'article "souris" a un lien vers sa propre page, l'article "carte graphique" a aussi un lien pour sa propre page dédiée à lui aussi.
    Comme le cas suivant.
    http://www.jeuxvideo.com/recherche/0-metal%20gear.htm
    http://www.jeuxvideo.com/cheats/truc...on-3-ps3-a.htm

    _________________________________________________________

    On m'avait dit qu'il fallait le faire l'ID alors je me suis lancé sur les tests et même avec ça j'ai échoué et j'ai un lien commun à tous avec un beau message d'erreur bien sûr quand je clique dessus.

    Voilà les scripts.
    -------------------------------------------------

    Page: Produit.php

    <?php

    include("Mise_en_page.php");

    mysql_connect("localhost", "root", "");

    mysql_select_db("projetphp");

    $reponse = mysql_query("SELECT * FROM jeux_video WHERE quantité_disponible > 50")or die(mysql_error());

    $retour = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM jeux_video");

    $valeur = mysql_fetch_array($retour);


    while ($donnees = mysql_fetch_array($reponse) )

    {

    ?>

    <p>

    <strong>Jeu</strong> : <a href="detail.php?value=ID"><?php echo $donnees['nom']; ?><a><br /> //Le lien sur chaque entrée pour nous envoyer à la fin à une page spécifique à chaque entrée

    Prix <?php echo $donnees['prix']; ?> dinars !<br />

    Ce jeu fonctionne sur <?php echo $donnees['console']; ?> et il reste <?php echo $donnees['quantité_disponible']; ?> exemplaires en stock<br />

    Ma petite description sur <?php echo $donnees['nom']; ?> :
    <em><?php echo $donnees['commentaires']; ?></em>

    </p>

    <?php
    }

    mysql_close();

    ?>

    --------------------------------------------
    Page: detail.php

    <?php

    mysql_connect("localhost", "root", "");

    mysql_select_db("projetphp");

    mysql_query("SELECT *

    FROM jeux_video

    WHERE id=$_GET['value']")or die(mysql_error());

    mysql_close();

    ?>


    Merci d'avance d'avance pour votre aide,

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 043
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 043
    Points : 8 075
    Points
    8 075
    Billets dans le blog
    17
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <strong>Jeu</strong> : 
    <a href="detail.php?value=ID"><?php echo $donnees['nom']; ?><a>
    Ici tu n'envoies pas de valeur spécifique, mais le littéral "ID".
    Il faudrait faire qquechose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <strong>Jeu</strong> : 
    <a href="detail.php?value=<?php echo $donnees['identifiant'] ?>"><?php echo $donnees['nom']; ?><a>
    Ensuite ici il y a un souci de syntaxe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    mysql_query("SELECT *
     
    FROM jeux_video
     
    WHERE id=$_GET['value']")
    Il faudrait faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    mysql_query("SELECT *
     
    FROM jeux_video
     
    WHERE id=$_GET[value]")
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Merci très bien pour ta réponse très très rapide qui m'a très bien aidé, et désolé si j'ai l'air lourd en posant une autre question nulle (désolé puisque je suis encore débutant en programmation web).
    Comment je pourrais maintenant affecter à chaque lien de l'entrée de la table sa propre page qui en cliquant sur le lien nous envoi sur la page avec les info sur les articles.
    Par exemple en cliquant sur le lien de Metal Gear Solid(qui a un ID=2), il m'envoie à la page "http://localhost/ProjetPHP/detail.php?value=2" qui est vide bien sûr
    comment faire pour faire l'envoi à la page mgs.php qui a la description détaillé du jeu ????
    Merci et désolé

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 043
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 043
    Points : 8 075
    Points
    8 075
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par Legendsnake Voir le message
    Merci très bien pour ta réponse très très rapide qui m'a très bien aidé, et désolé si j'ai l'air lourd en posant une autre question nulle (désolé puisque je suis encore débutant en programmation web).
    Pas de souci, on est tous passé par là.

    Comment je pourrais maintenant affecter à chaque lien de l'entrée de la table sa propre page qui en cliquant sur le lien nous envoi sur la page avec les info sur les articles.
    Par exemple en cliquant sur le lien de Metal Gear Solid(qui a un ID=2), il m'envoie à la page "http://localhost/ProjetPHP/detail.php?value=2" qui est vide bien sûr
    Ben non pas bien sûr, sinon à quoi sert cette page ?

    comment faire pour faire l'envoi à la page mgs.php qui a la description détaillé du jeu ????
    Pourquoi renvoyer vers une autre page ? N'était-ce pas le rôle de detail.php ?
    Suffit juste de rajouter qques instructions, de mettre en forme $tuple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
     
    mysql_connect("localhost", "root", "");
    mysql_select_db("projetphp");
     
    $sql = 'SELECT * FROM jeux_video WHERE id = ' . $_GET['value'] ;
    $rs = mysql_query($sql) ;
    $tuple = mysql_fetch_assoc($rs) ;
     
    echo '<xmp>' ;
    print_r($tuple) ;
    echo '</xmp>' ;
     
    ?>
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  5. #5
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Une dernière question
    après ce que tu m'as dit de faire, tout marche nickel et tout le contenu de la table est affiché mais il y a un hic qui risque de faire fuire tous mes visiteurs
    Par exemple quand je clique sur le lien de Metal Gear Solid qui me renvoi sur "http://localhost/ProjetPHP/detail.php?value=2" bien sûr

    on m'affiche : "

    " Array
    (
    [ID] => 2
    [nom] => Metal Gear Solid
    [console] => Playstation
    [prix] => 30
    [quantité_disponible] => 230
    [commentaires] => Pour moi, le meilleur jeu au monde !
    ) "

    Comment je pourrais faire disparaitre le "Array ()" ainsi que les noms entre crochets avec les crochets ?????
    Merci d'avance

  6. #6
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 043
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 043
    Points : 8 075
    Points
    8 075
    Billets dans le blog
    17
    Par défaut
    print_r( ) est une fonction d'introspection (très pratique pour le débugage) qui sert le cas échéant à tester rapidement le bon fonctionnement du script
    Quand tu as un doute sur une fonction ou que tu veux connaître son rôle tu peux consulter la doc PHP à l'adresse suivante : http://php.net/manual/fr.
    Pour accéder directement à la doc de print_r( ) : http://fr.php.net/print-r.

    Comment je pourrais faire disparaitre le "Array ()" ainsi que les noms entre crochets avec les crochets ?????
    Il faut exploiter la variable $tuple, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <h2><?php echo $tuple['nom'] ?></h2>
     
    <p><?php echo $tuple['quantité_disponible'] ?> exemplaires disponible(s)
    sur <?php echo $tuple['console'] ?>
    au prix unitaire de <?php echo $tuple['prix'] ?> EUR.</p>
     
    <p>Ce que j'en pense :
    <em>« <?php echo $tuple['commentaires'] ?> »</em></p>
    N'hésite pas si tu as d'autres questions
    Bon dév,
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  7. #7
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    WOW, tu me sauve vraiment la vie. Merci beaucoup. Je ne serais pas quoi faire sans toi
    Pour terminer, une petite question de design. Est ce qu'on peut ajouter des photos aux tables? (je sais que c'est du n'importe quoi ce que je dis d'après mes connaissances quoi ) afin de pouvoir mieux personnaliser les pages de mes articles pour que chacun ait sa photo à lui.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 15
    Dernier message: 21/07/2017, 15h57
  2. [MySQL] Creer des liens pour chaque entrée d'une table
    Par dlecteur dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 03/09/2010, 17h09
  3. LIMIT pour chaque clé d'une table
    Par karl2mil1 dans le forum Requêtes
    Réponses: 1
    Dernier message: 23/02/2010, 12h28
  4. Calcul de la Médiane pour chaque élément d'une table
    Par yuekerobero dans le forum Requêtes
    Réponses: 11
    Dernier message: 30/09/2008, 13h01
  5. Réponses: 5
    Dernier message: 16/02/2007, 17h03

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