Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/09/2006, 21h21   #1
Invité régulier
 
Inscription : juillet 2006
Messages : 24
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 24
Points : 5
Points : 5
Par défaut [Conception] affichage des données de la base en cilquant sur un lien

Bonsoir,
Sur ma page j'ai plusieurs articles, se sont des liens, je voudrais pouvoir en cliquant sur un lien, avoir la définition de l'article que j'ai sur ma base. je suis arrivé a faire la connexion a ma base et l'affichage des données mais pas en cliquant sur un lien, j'ai cherché dans les tutos mais je trouve pas ce genre de detail.
merci d'avance.
katie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2006, 23h28   #2
Membre chevronné
 
Avatar de Dia_FR
 
Homme Aurélien
Développeur Web
Inscription : avril 2006
Messages : 510
Détails du profil
Informations personnelles :
Nom : Homme Aurélien
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2006
Messages : 510
Points : 643
Points : 643
page_a_atteindre.php?id=

tes produits sont dans une base donc ils ont une clé primaire
tu poses la clé primaire du produit concerné par le lien après le =

tu récupère cette valeur dans la page d'affichage, select * from base where cle = $_GET['id']
__________________
Dia [ Page DVP ] [ Blog ] [ Site pro ]
Dia_FR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2006, 10h48   #3
Membre éprouvé
 
Avatar de yjuliet
 
Homme Yvan
Consultant informatique
Inscription : août 2006
Messages : 360
Détails du profil
Informations personnelles :
Nom : Homme Yvan
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Consultant informatique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : août 2006
Messages : 360
Points : 402
Points : 402
En fait, il faut que dans l'URL de ton lien, tu passes en paramètre l'identifiant unique de ton article.
Pour passer un paramètre d'une page PHP à une autre, tu dois construire ton URL comme suit :
Code :
1
2
 
http://<serveur>:<port>/<chemin>/<page_php>?<nom_param1>=<valeur_param1>&<nom_param2>=<valeur_param2>...
Une fois dans ta <page_php>, pour récupérer les paramètres passés à ta page :
Code :
1
2
3
<?
  $param1 = $_GET['<nom_param1'] ; 
?>
tu peux ensuite utiliser ton paramètre pour récupérer l'article dans ta base en écrivant la bonne requete :
Citation:
select * from base where cle = $param1
yjuliet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2006, 20h30   #4
Invité régulier
 
Inscription : juillet 2006
Messages : 24
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 24
Points : 5
Points : 5
Merci pour vos réponses, j'arrive toujours pas a bien comprendre doment faire, bon je vous dis comment elle est faite ma page:
sur la page ou il y'a les titres des produits, je fais en meme temps ma connexion a ma base, je voudrai afficher en cliquant sur le lien dans la meme page.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
 
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("mabase"); 
 
$reponse = mysql_query("SELECT* FROM table where id_produit=''1")or die(mysql_error()); 
 
 
<ul>
  <li style="color: rgb(102, 0, 0);">
  <a href="id_produit">
  Produit 1</li></a>
 
  <li style="color: rgb(102, 0, 0);">
  <a href="id_produit">
    Produit 2</li></a>
  </li></a>
</ul>
........
........
mysql_close(); 
?>
Franchement je suis perdue dedon, je sais qu'il y'a plein d'erreurs dans mon code, en plus je sais pas si il faut faire une requette pour chaque produit, et comment gerer ca, trop flou.
j'espère que vous allez pouvoir m'aider, merci encore
katie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2006, 21h09   #5
Membre chevronné
 
Avatar de Dia_FR
 
Homme Aurélien
Développeur Web
Inscription : avril 2006
Messages : 510
Détails du profil
Informations personnelles :
Nom : Homme Aurélien
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2006
Messages : 510
Points : 643
Points : 643
en premier lieu j'te conseillerai fortement d'aller dans la rubrique tutoriels de PHP et de lire 2 ou 3 tutos traitant de l'interaction PHP - BdD
(lien dans ma signature)

faudrait structurer ta page comme ça (dans les grandes lignes) :

Citation:
<?php
if (isset($_GET['id'])) { // si l'utilisateur a cliqué sur un lien
connexion BdD
sélection table
$resultats
= mysql_query("select * from table where id_produit='" . $_GET['id'] . "'");
déconnexion BdD
while ($enregistrement = mysql_fetch_array($resultats)) {
// afficher infos produit
}
}

else {
// si y a aucun paramètre dans l'url
?>
// afficher liste produits :
<a href="./nom_de_ta_page.php?id=1">Produit 1</a>
...
<?php
}
?>
dans le requête les quotes se voient pas très bien, avec des espaces ça donnerait = ' " . $_GET[ ' id ' ] . " ' "

ou une autre version, plus simple à lire mais qui oblige à prendre une variable de plus (bon là, vu la taille du code, on peut se permettre ) :

Citation:
sélection table
$id
= $_GET['id'];
$resultats = mysql_query("select * from table where id_produit='$id'");
__________________
Dia [ Page DVP ] [ Blog ] [ Site pro ]
Dia_FR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2006, 23h41   #6
Membre chevronné
 
Avatar de kankrelune
 
Inscription : décembre 2005
Messages : 766
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 766
Points : 745
Points : 745
Citation:
Envoyé par Dia_FR
Code :
1
2
3
4
5
6
7
<?php
if (isset($_GET['id'])) { // si l'utilisateur a cliqué sur un lien
connexion BdD
sélection table
$resultats = mysql_query("select * from table where id_produit='" . $_GET['id'] . "'");

...
Ca fait quoi si je fais

mapage.php?id=';DROP TABLE table;

?

Code :
1
2
 
$resultats = mysql_query('SELECT * FROM table WHERE id_produit='.(int)$_GET['id']);
si id est numérique sinon...


Code :
1
2
 
$resultats = mysql_query('SELECT * FROM table WHERE id_produit=\''.mysql_real_escape_string($_GET['id']).'\'';
@ tchaOo°
kankrelune est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h56.


 
 
 
 
Partenaires

Hébergement Web