Se connecter

Informatique

Création de sites web

Sujet : Comment créer un Champ unique comme sur ce forum ??
1
raaga
Niveau 7
29 mai 2020 à 19:50:13

Salut, je suis en train de coder mon site en Symfony et je me demandais comment créer un champ unique comme sur ce forum ??

Quand on clique sur un sujet y'a des chiffres puis après y'a le titre. Par exemple pour le sujet que je viens de poser:
jeuxvideo.com/forums/42-30-63200892-1-0-1-0-comment-creer-un-champ-unique-comme-sur-ce-forum.htm

Je peux réaliser ça comment pour mon site ? car si je mets seulement le titre après le "/" ça ne fonctionnera pas vu que si deux personnes mettent le même titre dans leur sujet ça retournera vers le même lien...

Merci d'avance

Nuagedecube
Niveau 21
29 mai 2020 à 19:56:28

C'est à vous de comprendre ce système d'association de lien associer à votre contenu et il y a du boulot.
Pourquoi copier jeuxvideo.com, n'avez-vous aucune manière propre de faire les choses selon votre projet ?

raaga
Niveau 7
29 mai 2020 à 20:06:07

Le 29 mai 2020 à 19:56:28 Nuagedecube a écrit :
C'est à vous de comprendre ce système d'association de lien associer à votre contenu et il y a du boulot.
Pourquoi copier jeuxvideo.com, n'avez-vous aucune manière propre de faire les choses selon votre projet ?

ah donc peu importe le moyen tant que je trouve une façon d'avoir un lien unique c'est ok ? je pensais qu'il y avait une méthode unique suivie par tout le monde ...

Le_Tryall
Niveau 8
29 mai 2020 à 21:15:34

Il n'y a absolument aucune méthode suivit par tout le monde. Quand une personne accède à un serveur web par son adresse "monsite.fr", tu peux récupérer de ton côté le reste de l'URL, le parser (mettre en ordre) et ensuite servir du contenu depuis la base de donnée en fonction de ton code.

Donc quand quelqu'un entre monsite.fr/blog/article/mon-titre-d-article/
ton framework PHP va pouvoir le lire comme ça :
URL = ['blog', 'article', 'mon-titre-d-article']

Dans t'as logique de code tu va pouvoir dire :

Si URL[0] == 'blog' et si URL[1] == 'article'
alors chercher dans la base de donnée "blog -> article" l'article avec le titre URL[2] et servir le contneu

raaga
Niveau 7
29 mai 2020 à 21:53:05

Le 29 mai 2020 à 21:15:34 Le_Tryall a écrit :
Il n'y a absolument aucune méthode suivit par tout le monde. Quand une personne accède à un serveur web par son adresse "monsite.fr", tu peux récupérer de ton côté le reste de l'URL, le parser (mettre en ordre) et ensuite servir du contenu depuis la base de donnée en fonction de ton code.

Donc quand quelqu'un entre monsite.fr/blog/article/mon-titre-d-article/
ton framework PHP va pouvoir le lire comme ça :
URL = ['blog', 'article', 'mon-titre-d-article']

Dans t'as logique de code tu va pouvoir dire :

Si URL[0] == 'blog' et si URL[1] == 'article'
alors chercher dans la base de donnée "blog -> article" l'article avec le titre URL[2] et servir le contneu

oui mais si y'a deux articles avec le même titre, ça redirigera vers le même lien et il y aura un problème

boucif
Niveau 24
29 mai 2020 à 22:24:27

Je pense c’est un id en bdd, le mieux c’est de générer par exemple un guid à la création d’un sujets et de le stocker en bdd avec ton sujet

raaga
Niveau 7
29 mai 2020 à 22:27:16

Le 29 mai 2020 à 22:24:27 boucif a écrit :
Je pense c’est un id en bdd, le mieux c’est de générer par exemple un guid à la création d’un sujets et de le stocker en bdd avec ton sujet

oui j'ai trouvé justement merci, c'était un UID avec la librairie ramsey/uuid qui génère des id unique qu'on peut utiliser comme lien

Marduweb
Niveau 17
29 mai 2020 à 23:35:41

Le 29 mai 2020 à 22:27:16 Raaga a écrit :

Le 29 mai 2020 à 22:24:27 boucif a écrit :
Je pense c’est un id en bdd, le mieux c’est de générer par exemple un guid à la création d’un sujets et de le stocker en bdd avec ton sujet

oui j'ai trouvé justement merci, c'était un UID avec la librairie ramsey/uuid qui génère des id unique qu'on peut utiliser comme lien

oui j'utilise ça aussi c'est bien

après pour les sites où tu as pas beaucoup d'url (donc faible risque de retrouver le même "nom de page") j'utilise ça https://github.com/Atlantic18/DoctrineExtensions/blob/master/doc/sluggable.md

comme ça si t'as un titre genre "comment créer un champ unique" ça le converti en "comment-creer-un-champ-unique" et s'il existe déjà dans la base de données, ça fera automatiquement un truc du genre "comment-creer-un-champ-unique-2"

VinkingBanni
Niveau 10
30 mai 2020 à 07:39:50

Laborieux. ..

raaga
Niveau 7
31 mai 2020 à 00:37:44

Le 29 mai 2020 à 23:35:41 marduweb a écrit :

Le 29 mai 2020 à 22:27:16 Raaga a écrit :

Le 29 mai 2020 à 22:24:27 boucif a écrit :
Je pense c’est un id en bdd, le mieux c’est de générer par exemple un guid à la création d’un sujets et de le stocker en bdd avec ton sujet

oui j'ai trouvé justement merci, c'était un UID avec la librairie ramsey/uuid qui génère des id unique qu'on peut utiliser comme lien

oui j'utilise ça aussi c'est bien

après pour les sites où tu as pas beaucoup d'url (donc faible risque de retrouver le même "nom de page") j'utilise ça https://github.com/Atlantic18/DoctrineExtensions/blob/master/doc/sluggable.md

comme ça si t'as un titre genre "comment créer un champ unique" ça le converti en "comment-creer-un-champ-unique" et s'il existe déjà dans la base de données, ça fera automatiquement un truc du genre "comment-creer-un-champ-unique-2"

ah oui merci j'avais trouvé ça aussi

Soroughh
Niveau 16
31 mai 2020 à 12:12:11

Enfait, en soit c'est pas compliqué.

Tu as une table : ID Sujet Lien_Sujet

Quand le User creer un sujet, tu l'ajoutes dans la table sujet et lien Lien_Sujet doit correspondre à la concatenation de l'ID et du Sujet et c'est ce champ Lien_Sujet que tu vas afficher en tant que nom de ta page

1
Sujet : Comment créer un Champ unique comme sur ce forum ??
   Retour haut de page
Consulter la version web de cette page