[PHP/MySQL] Creation de lien
p_oum
Messages postés
964
Date d'inscription
Statut
Membre
Dernière intervention
-
Lobsang Rampa -
Lobsang Rampa -
Bonjour,
Voici mon probleme
J'ai deux tables dans ma base donnees: personne et ville
La table personne est compose de la facon suivante:
id
nom
description
La table ville est compose de la facon suivante
id
nom
description
Je voudrais que lors de l'affichage dans ma page des donnees de personne.description soit automatiquement cree des liens html vers la page contenant les donnes de ville.description
Exemple:
La page contenant les donnees personne affiche
Jean dupond habite a Paris(=lien vers la page contenant les donne de ville) depuis 3 mois. Il aime beaucoup Paris(=lien vers la page contenant les donne de ville) etc ...
J'ai regarde du cote de la fonction str_replace mais je n'arrive pas a lui passer un tableau contenant les donnees des tables et cela ne fonctionne pas nom plus si le mot a remplacer est present plusieurs fois dans le texte.
Merci
Voici mon probleme
J'ai deux tables dans ma base donnees: personne et ville
La table personne est compose de la facon suivante:
id
nom
description
La table ville est compose de la facon suivante
id
nom
description
Je voudrais que lors de l'affichage dans ma page des donnees de personne.description soit automatiquement cree des liens html vers la page contenant les donnes de ville.description
Exemple:
La page contenant les donnees personne affiche
Jean dupond habite a Paris(=lien vers la page contenant les donne de ville) depuis 3 mois. Il aime beaucoup Paris(=lien vers la page contenant les donne de ville) etc ...
J'ai regarde du cote de la fonction str_replace mais je n'arrive pas a lui passer un tableau contenant les donnees des tables et cela ne fonctionne pas nom plus si le mot a remplacer est present plusieurs fois dans le texte.
Merci
A voir également:
- [PHP/MySQL] Creation de lien
- Lien url - Guide
- Créer un lien pour partager des photos - Guide
- Verificateur de lien - Guide
- Creation de compte google - Guide
- Creation de site web - Guide
1 réponse
Je te conseille de stocker "Jean dupond habite a Paris." dans une variable par exemple:
$string = "Jean dupond habite a Paris.";
Et d'effectuer la chose suivante :
$string = str_replace("Paris","<a href="tonlien.php">Paris</a>",$string);
echo $string;
Toutes les occurrences Paris vont être remplacé par Paris(=lien vers ta page).
Flavien
$string = "Jean dupond habite a Paris.";
Et d'effectuer la chose suivante :
$string = str_replace("Paris","<a href="tonlien.php">Paris</a>",$string);
echo $string;
Toutes les occurrences Paris vont être remplacé par Paris(=lien vers ta page).
Flavien
Il faut qu'une des données des tables soit commune sinon pas de jointures possible. Et donnez des noms de champs plus évocateur(je vias utiliser le MCD(modèle conceptuel de données) donc enlever l'id qui ne me sembles pas l'identifiant naturel mais doit correspondre à une quelconque valeur numérique auto-incrémenté lors de l'insert:
[personne]
nom
prenom /*je rajoute ce champ sinon vous allez avoir des soucis avec les gens avec qui o,nt le meêm nom de famille, éventuellement il faut rajouter le champ id pour les homonymes de nom et prénom(il peut exister 2 ou plus de Jean Dupond mais ils auront des id différents)).*/
ville_residence
commentaire
[lieu]
ville
description
Vous pouvez recouper les deux tables en utilisant ville_residence et ville qui correspondent à des noms de ville(je les ait appelés différemment exprès, cela évites de les mélanger et quand on lit ville_residence on sait de suite que c'est la ville d'une personne).
Le champ ville_residence de la table personne est une clé étrangère. Elle permet de recouper les information pour la ville et ainsi obtenir la description de la ville.
Jetez un oeil sur un cours/tuto de SQL sur les clés étrangères et jointures de table. Vous verrez qu'au niveau requête c'est simple et logique(normal SQL est un langage simple et logique, peu évolué mais rapide, peu permissif il est dit de bas niveau: très proche de la logique informatique le binaire et les mathématiques de Boole).
Par exemple:
SELECT personne.nom, personne.prenom, lieu.ville, lieu.description FROM personne, lieu WHERE personne.ville_residence=lieu.ville
vous donne comme résultat le nom, le prénom d'une personne ainsi que sa ville et la description de sa ville.
SELECT personne.nom, personne.prenom lieu.villeFROM personne, lieu WHERE personne.ville_residence=lieu.ville DISTINCT lieu.ville
Vous donne la liste de toutes les personnes(nom, prénom) regroupés par ville.