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 :

Affichage de fiche produit en PHP/SQL


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    546
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 546
    Points : 75
    Points
    75
    Par défaut Affichage de fiche produit en PHP/SQL
    Bonjour à tous,

    je suis en train de developper une boutique en ligne en PHP5/mySQL.

    Et, je voudrai faire en sorte que lorsque je clique sur le nom d'un produit, le visiteur soit redirigé vers la page du descriptif du produit.
    Par exemple, on clique sur un portable et on tombe sur sa fiche descriptive...

    Je pense qu'il faut recupérer d'une manière la référence du produit correspondant pour aller chercher dans la BDD, les données relatives aux produits, pour ensuite afficher la fiche du produit entière.

    Cependant, je ne comprend pas comment faire le lien et la transition.

    Est-ce que quelqu'un pourrait m'eclairer ?

    Merci beaucoup :')

  2. #2
    Membre actif Avatar de firehist
    Homme Profil pro
    Intégrateur Web Freelance
    Inscrit en
    Février 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur Web Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 151
    Points : 214
    Points
    214
    Par défaut
    Bonjour,

    Pourrais-tu donner un peu plus d'informations, du style
    Ta base de données ?
    As-tu déjà une page qui liste tous les produits ?

    Merci

  3. #3
    Membre à l'essai
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2011
    Messages : 15
    Points : 11
    Points
    11
    Par défaut me permet de reprendre le sujet
    Bonjour,

    J'ai une base de données qui contient entre autres une table films :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     Type Interclassement Attributs Null Défaut Extra Action 
      nom varchar(50) latin1_general_ci  Non Aucun                
      nom_ori varchar(50) latin1_general_ci  Non Aucun                
      genre varchar(50) latin1_general_ci  Non Aucun                
      duree int(11)   Non Aucun                
      duree_min int(11)   Non Aucun                
      pays varchar(50) latin1_general_ci  Non Aucun                
      annee int(11)   Non Aucun                
      resume mediumtext latin1_general_ci  Non Aucun
    j'ai donc une page qui retourne le résultat d'une requete de sélection par genre, la liste des noms des films avec une lien sur filmfiche.php et c'est là que sa bloque, je n'arrive pas a avoir la description du film avec les champs.

    Si je ne suis pas assez claire dites le moi.

    je vous remercie d'avance.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 123
    Points : 56
    Points
    56
    Par défaut
    Bonjour david,

    - il faut que tu passes l'id de ton film par l'url 'fiche_film.php?id=$id'

    - une fois que tu as passer l'id de ton film du peut avoir accès à toute les infos sur le film et compléter ta fiche

  5. #5
    Membre à l'essai
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2011
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Bonjour et merci de votre réponse,

    voici donc ma liste de films avec le lien pour la page fichefilm.php------------

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $resultat = mysql_query ("SELECT * FROM films WHERE genre='epouvante horreur'", $connexion);
     
    if ($resultat) {
      while($retour = mysql_fetch_array($resultat))
    {
    	echo '<a href="filmfiche.php? id='.$retour['nom'].'">'.$retour['nom'].'</a><br />';
      }
    }

    Cela fonctionne un grand merci !!

    Par contre je n'arrive pas a faire la requette sql dans la page fichefilm.php :


    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $resultat = mysql_query ("SELECT * FROM films WHERE ???????????????????  ($connexion)";
     
    if ($resultat) {
      while ($film = mysql_fetch_object ($resultat)) {
        echo "$film->nom.<br/>\n";
      }
    }

    Comme vous pouvez le constater je bloc sur la condition de la clause WHERE car je pense que l'on ne peux pas utiliser la $_GET[' '] vu que le lien est une variable.
    Je cherche avec mon ami google mais ne trouve pas la solution ou passe à côté.

    Excusez moi pour mes scripts qui ne doivent pas être trés propre ...

    Merci d'avance.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 123
    Points : 56
    Points
    56
    Par défaut
    Comme vous pouvez le constater je bloc sur la condition de la clause WHERE car je pense que l'on ne peux pas utiliser la $_GET[' '] vu que le lien est une variable.
    Je te conseillerai de travailler avec des id
    Ensuite du côté de ta fiche pour récupérer l'id il te faut faire une requête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT (ce que tu veux selectionner) 
    FROM films 
    WHERE id_film = '".$_GET['id']."'
    $_GET['id'] ou id correspond à l'id que tu as passé dans ton url

  7. #7
    Membre à l'essai
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2011
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    j'ai ajouté a ma table film un champs id auto incrémenté.
    Puis la requette suivante :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    $resultat = mysql_query ("SELECT * FROM films WHERE id_film = '.$_GET['$id'].'" );

    l'erreur suivante aparait :

    Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING'

    Je suis vraiment nul car je ne comprend pas....

  8. #8
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 15
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par david_gal Voir le message
    j'ai ajouté a ma table film un champs id auto incrémenté.
    Puis la requette suivante :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    $resultat = mysql_query ("SELECT * FROM films WHERE id_film = '.$_GET['$id'].'" );

    l'erreur suivante aparait :

    Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING'

    Je suis vraiment nul car je ne comprend pas....
    salut as-tu au préalable un <form> de method 'get' puis un lien <a> avec comme lien quelque chose du genre <a href="index.php?film=$tarequete['id']">

    ensuite après pour afficher les films en fonction de l'id.

    tu fais :

    if (isset($_GET['film']))
    {
    $id = $_GET['film']; // tu récupères l'id


    $sql = "SELECT * FROM films WHERE id_film = '$id'";
    ....
    ....
    }

  9. #9
    Membre à l'essai
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2011
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Salut

    en premier j'ai mon accueil.php qui contient un menu de cathégories.
    Lorsqu'une cathégorie est cliquée (datacathegorie.php) une liste de liens de cette cathégorie apparait. Jusque là pas de problèmes.
    Par contre lorsque je choisi le film et que je veux sa fiche de détails je n'y arrive pas.Il n'y a pas de formulaire.

    voici la requette sql de datacathegorie.php :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $resultat = mysql_query ("SELECT * FROM films WHERE genre='epouvante horreur'", $connexion);

    et la boucle avec le lien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if ($resultat) {
      while($id = mysql_fetch_array($resultat))
    {
    	echo '<a href="filmfiche.php?id='.$id.'">'.$id['nom'].'</a><br />';
    et enfin la page filmfiche.php :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $resultat2 = mysql_query ("SELECT * FROM films WHERE id = '.$_GET['$id'].'" );
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if ($resultat2) {
      while ($film = mysql_fetch_object ($resultat2)) {
        echo "$film->nom.<br/>\n";
    	echo "$film->nom_ori.<br/>\n";
                 ect......
      }
    }
    Je cherche un peut partout mais en général soit par liste ou par formulaire je ne trouve pas de cette maniére.

    Merci de consacrer de votre temps

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as des erreurs de syntaxe partout :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $resultat = mysql_query ("SELECT id, nom FROM films WHERE genre='epouvante horreur'", $connexion);
      while($row = mysql_fetch_array($resultat))
    {
    	echo '<a href="filmfiche.php?id='.$row['id'].'">'.$row['nom'].'</a><br />';
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $resultat2 = mysql_query ("SELECT nom, nom_ori FROM films WHERE id = ".intval($_GET['id']);
    while ($film = mysql_fetch_object ($resultat2)) {
        echo $film->nom."<br/>\n";
        echo $film->nom_ori."<br/>\n";
    }

  11. #11
    Membre à l'essai
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2011
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Merci

    juste une petite erreur de parse sinon ça marche nickel

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    $resultat2 = mysql_query ('SELECT nom, nom_ori FROM films WHERE id = '.intval($_GET['id']));

    ENcore un grand merci

Discussions similaires

  1. petit aide pour fiche produit SQL
    Par neops dans le forum Langage SQL
    Réponses: 1
    Dernier message: 28/03/2011, 13h56
  2. [MySQL] Affichage du resultat d'une requete SQL avec PHP
    Par tabouet dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 24/09/2009, 15h03
  3. [Swing] Affichage de fiches produits avec image
    Par calogerogigante dans le forum AWT/Swing
    Réponses: 16
    Dernier message: 10/01/2008, 10h01
  4. données tronquées a l'affichage PHP / SQL serveur
    Par dav83 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 11/04/2007, 12h12
  5. Affichage par total de vote (php et/ou sql)
    Par bigbib dans le forum Langage SQL
    Réponses: 4
    Dernier message: 19/12/2006, 06h28

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