Insérer lien dans script PHP renvoyant vers page specifique
Résolu
ChrisL18
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
Gigatrappeur Messages postés 226 Date d'inscription Statut Membre Dernière intervention -
Gigatrappeur Messages postés 226 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je n'ai pas un profil technique et j'ai un devoir à rendre pour l'école qui porte sur le PHP et la manipulation de Bases SQL.
Je suis coincé sur une étape.
J'ai une table de ma BDD qui fait apparaître les noms, prénoms et année de naissance d'acteurs sous forme de tableau.
Je dois rendre cliquable le nom et que celui-ci m'amène sur une page detail_artiste.php qui fait apparaître des infos plus précises et qui doit être spécifique à chaque nom. Chaque artiste dispose d'un numéro ID unique qui est aussi la clé primaire.
Mon problème est donc que lorsque l'on clique sur le nom on soit envoyé à la page correspondant à l'ID rattaché au nom.
Quelqu'un pourrait m'aider svp ?
Je n'ai pas un profil technique et j'ai un devoir à rendre pour l'école qui porte sur le PHP et la manipulation de Bases SQL.
Je suis coincé sur une étape.
J'ai une table de ma BDD qui fait apparaître les noms, prénoms et année de naissance d'acteurs sous forme de tableau.
Je dois rendre cliquable le nom et que celui-ci m'amène sur une page detail_artiste.php qui fait apparaître des infos plus précises et qui doit être spécifique à chaque nom. Chaque artiste dispose d'un numéro ID unique qui est aussi la clé primaire.
Mon problème est donc que lorsque l'on clique sur le nom on soit envoyé à la page correspondant à l'ID rattaché au nom.
Quelqu'un pourrait m'aider svp ?
<?php $fenetre_sur_resultats = mysql_query("SELECT nom, prenom, anneeNaiss FROM Artiste") or die ("pb dans la requête :".mysql_error()); $ligne_courante = mysql_fetch_object($fenetre_sur_resultats); while ($ligne_courante) { echo "<tr><td><a href=\"http://localhost/film/detail_artiste.php\"> ".utf8_encode( $ligne_courante->nom )."</a></td> <td>".utf8_encode ($ligne_courante->prenom)."</td> <td>".utf8_encode($ligne_courante->anneeNaiss)."</td> </tr>"; $ligne_courante = mysql_fetch_object($fenetre_sur_resultats); }; ?>
A voir également:
- Insérer lien dans script PHP renvoyant vers page specifique
- Insérer une vidéo dans powerpoint - Guide
- Vers quelle adresse web renvoie ce lien - Guide
- Supprimer une page dans word - Guide
- Créer un lien pour partager des photos - Guide
- Insérer signature word - Guide
9 réponses
salut,
je vais seulement te donner la piste pour que tu taff ^^
La première chose à savoir c'est qu'il y a deux moyens de faire transiter les infos entre deux page : via le get et le post. Je te parlerai du get, libre à toi de cherche le post.
Par le get, on donne de manière claire les informations via l'url. Par exemple je veux donner "variable = 5" à la page "test.php". Je vais donc appeler :
si je veux ajouter la variable "nom='test'" :
Voulà pour l'envoi. C'est bien beau mais il faut réceptionner maintenant. test.php devra donc lire les infos. Les variables get sont accessible via le tableau
voilà, si t'as besoin n'hésite pas.
naga
je vais seulement te donner la piste pour que tu taff ^^
La première chose à savoir c'est qu'il y a deux moyens de faire transiter les infos entre deux page : via le get et le post. Je te parlerai du get, libre à toi de cherche le post.
Par le get, on donne de manière claire les informations via l'url. Par exemple je veux donner "variable = 5" à la page "test.php". Je vais donc appeler :
test.php?variable=5
si je veux ajouter la variable "nom='test'" :
test.php?variable=5&nom='test'
Voulà pour l'envoi. C'est bien beau mais il faut réceptionner maintenant. test.php devra donc lire les infos. Les variables get sont accessible via le tableau
$_GET. Donc pour nos deux variables :
$_GET['variable']; //5
$_GET['nom'];//test
voilà, si t'as besoin n'hésite pas.
naga
Bonjour,
tu y es presque.
Ajoute un paramètre à ton lien à la ligne 7 :
Par contre, il faut modifier ta requête sql pour récupérer l'id de la ligne :
A toi de remplacer
Et puis dans ton script detail_artiste.php, il te faut paramétrer ta requête permettant de récupérer les détails à l'aide de
tu y es presque.
Ajoute un paramètre à ton lien à la ligne 7 :
"<a href=\"http://localhost/film/detail_artiste.php?id=" . $ligne_courante->id . "\">" . utf8_encode( $ligne_courante->nom ) . "</a>"
Par contre, il faut modifier ta requête sql pour récupérer l'id de la ligne :
SELECT id, nom, prenom, anneeNaiss FROM Artiste
A toi de remplacer
idpar la clé primaire de ta table.
Et puis dans ton script detail_artiste.php, il te faut paramétrer ta requête permettant de récupérer les détails à l'aide de
$_GET['id'], exemple :
$detailQuery = "SELECT * FROM DetailArtiste WHERE id='" . $_GET['id'] . "'";
Bonjour,
sur la ligne 7 du script artiste2.php, supprime le domaine de l'attribut href :
ça devrait mieux marcher.
sur la ligne 7 du script artiste2.php, supprime le domaine de l'attribut href :
echo "<tr><td><a href=\"detail_artiste.php?id=" . $ligne_courante->id ."\">" . utf8_encode( $ligne_courante->nom ) . "</a></td>"
ça devrait mieux marcher.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bon, je suis un peu bloqué, j'ai essayé plusieurs trucs mais je ne parviens pas à faire apparaître les informations correspondant au id . Cet id et les éléments que je souhaite faire apparaître (photo, nom, etc...) sont dans le même table Artiste.
J'ai modifié le code de artiste2.php qui doit renvoyer vers detail_artiste.php. Ca donne ça:
et pour detail_artiste.php j'ai ça:
Que dois-je faire pour que lorsque l'on clique sur le nom, on atterrisse sur une page affichant les informations de l'ID correspondant au nom ?
J'ai modifié le code de artiste2.php qui doit renvoyer vers detail_artiste.php. Ca donne ça:
<?php $fenetre_sur_resultats = mysql_query("SELECT id, nom, prenom, anneeNaiss FROM Artiste") or die ("pb dans la requête :".mysql_error()); $ligne_courante = mysql_fetch_object($fenetre_sur_resultats); while ($ligne_courante) { echo "<tr><td><a href=\"http://localhost/film/detail_artiste.php?id=" . $ligne_courante->id ."\"> ".utf8_encode( $ligne_courante->nom )."</a></td> <td>".utf8_encode ($ligne_courante->prenom)."</td> <td>".utf8_encode($ligne_courante->anneeNaiss)."</td> </tr>"; $ligne_courante = mysql_fetch_object($fenetre_sur_resultats); }; ?> </tbody>
et pour detail_artiste.php j'ai ça:
<?php $fenetre_sur_resultats = mysql_query("SELECT nom, prenom, photo, anneeNaiss FROM Artiste WHERE id='" . $_GET['id'] . "'") or die ("pb dans la requête :".mysql_error()); $ligne_courante = mysql_fetch_object($fenetre_sur_resultats); while ($ligne_courante) { echo "<tr><td> ".utf8_encode ($ligne_courante->photo)."</td> <td>".utf8_encode ($ligne_courante->nom)."</td> <td>".utf8_encode($ligne_courante->prenom)."</td> <td>".utf8_encode($ligne_courante->anneeNaiss)."</td> </tr>"; $ligne_courante = mysql_fetch_object($fenetre_sur_resultats); }; ?>
Que dois-je faire pour que lorsque l'on clique sur le nom, on atterrisse sur une page affichant les informations de l'ID correspondant au nom ?
Tu un problème au niveau de la ligne 7 du script artiste2.php :
Il sort d'ou le 35 ?
"http://localhost/film/detail_artiste.php?id=35" . $ligne_courante->id
Il sort d'ou le 35 ?
Oups, un oubli, c'était pour faire un test et voir si ça me renvoyait le nom correspondant. J'ai édité le message.
Où se situe mon problème pour afficher les détails du nom sur lequel je clique ?
Voici l'énoncé:
"Écrire le script detail_artiste.php qui affiche le détail d'un artiste particulier reconnu par son identifiant. L'appel à l'URL http://localhost/Films/detail_artiste.php?id=35 doit afficher le détail de l'artiste Sean Connery (ici d'identifiant 35). L'affichage du détail donne la photo de l'artiste ou l'avatar générique (image avatar_artiste.jpg fournie) à gauche. Les autres informations (nom, prénom et année de naissance ) à droite.
Le paramètre id est transmis en GET. Il est donc visible dans le script à travers la donnée : $_GET['id'].
Où se situe mon problème pour afficher les détails du nom sur lequel je clique ?
Voici l'énoncé:
"Écrire le script detail_artiste.php qui affiche le détail d'un artiste particulier reconnu par son identifiant. L'appel à l'URL http://localhost/Films/detail_artiste.php?id=35 doit afficher le détail de l'artiste Sean Connery (ici d'identifiant 35). L'affichage du détail donne la photo de l'artiste ou l'avatar générique (image avatar_artiste.jpg fournie) à gauche. Les autres informations (nom, prénom et année de naissance ) à droite.
Le paramètre id est transmis en GET. Il est donc visible dans le script à travers la donnée : $_GET['id'].