Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
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 03/02/2012, 16h44   #1
Candidat au titre de Membre du Club
 
Homme fahd bla
Inscription : janvier 2012
Messages : 34
Détails du profil
Informations personnelles :
Nom : Homme fahd bla
Localisation : Argentine

Informations forums :
Inscription : janvier 2012
Messages : 34
Points : 12
Points : 12
Par défaut Récupérer résultats similaires

Bonjour tout le monde j'ai un petit soucis, bon voila je fait un site de vidéo, et je veux que quand mes inviter ajoute des vidéo par exemple j'ai un membres qui veux ajouter une épisode de "Tom & jerry" épisode 10 et un autre membres veux ajouter la même épisode , le soucis c'est que je veux pas 2 page "Tom & jerry épisode 10" mais plutôt 1 seul page ou il y'a la vidéo du membres 1 et du membres 2 quelqu'un pourra m'aider pour cela et merci

PS: quelque information supplémentaires j'ai dans ma base de données les tables suivantes

"ID,titre,episode,lien,langue''

Lien= la lien de la vidéo "exemple YouTube,rutube, Dailymotion ...''
langue= la langue de la traduction Vostfr/VoiceFR ...

espérant que je me suis bien expliquer et merci .
black-hat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2012, 17h04   #2
Membre éclairé
 
Avatar de humitake
 
Homme Olivier
Étudiant
Inscription : novembre 2010
Messages : 303
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 20
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2010
Messages : 303
Points : 384
Points : 384
Bonjour,

Il suffit d'utiliser distinct dans ta requête pour la sélection des noms (pour le nom de la page).

Et ensuite pour chaque page faire une requête qui ne sélectionne que les vidéos portant le même nom que la page.

Le soucis c'est que si un de tes utilisateurs écrit différemment par rapport à un autre tu auras quand même deux pages ...
Par exemple :

Utilisateur 1 => nom de la vidéo : Tom & Jerry épisode 10
Utilisateur 2 => nom de la vidéo : Tom & Jerry 10

Et la c'est le drame
humitake est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2012, 18h09   #3
Candidat au titre de Membre du Club
 
Homme fahd bla
Inscription : janvier 2012
Messages : 34
Détails du profil
Informations personnelles :
Nom : Homme fahd bla
Localisation : Argentine

Informations forums :
Inscription : janvier 2012
Messages : 34
Points : 12
Points : 12
j'ai une petite idée pourquoi pas ajouter une autre table qui contiendrai les nom des vidéo a ajouter lorsqu'il voudrait ajouter quelques chose il trouverai la liste des anime ''TOM & jerry,WINX,...'' comme ça je crois que le problème serai réglés non ?
black-hat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2012, 18h18   #4
Membre éclairé
 
Avatar de humitake
 
Homme Olivier
Étudiant
Inscription : novembre 2010
Messages : 303
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 20
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2010
Messages : 303
Points : 384
Points : 384
Oui le problème serrait réglé mais cela veux dire que tu empêchera les utilisateurs de pouvoir ajouté une nouvelle vidéo qui n'est pas prévu dans ta base de données.

Par exemple si je veux ajouter le premier épisode de Oui-Oui mais qu'il n'est pas présent dans ta base de données je ne pourrais pas ...
Où alors proposer une page permettant de créer une nouvelle catégorie.


Une solution alternative serais de proposer les choix lorsqu'il tape une lettre via une requête Ajax, ainsi en tapant "Tom" je verrais le choix "Tom & Jerry" apparaître.
Mais c’est déjà plus gourmant en ressource serveur


Et pourquoi ne pas rajouter un bouton sur tes pages afin de permettre aux membres de te prévenir si il trouve une page en doublon comme l'exemple précédent :
Citation:
Envoyé par humitake
Utilisateur 1 => nom de la vidéo : Tom & Jerry épisode 10
Utilisateur 2 => nom de la vidéo : Tom & Jerry 10
humitake est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2012, 19h39   #5
Candidat au titre de Membre du Club
 
Homme fahd bla
Inscription : janvier 2012
Messages : 34
Détails du profil
Informations personnelles :
Nom : Homme fahd bla
Localisation : Argentine

Informations forums :
Inscription : janvier 2012
Messages : 34
Points : 12
Points : 12
Je crois que la solution idéale serai de faire une autre page d'ajout de nouvelle épisode mais AJAX je connais pas trop donc :/
black-hat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2012, 09h20   #6
Expert Confirmé
 
Avatar de RunCodePhp
 
Inscription : janvier 2010
Messages : 2 738
Détails du profil
Informations personnelles :
Localisation : Réunion

Informations forums :
Inscription : janvier 2010
Messages : 2 738
Points : 3 310
Points : 3 310
Citation:
Envoyé par humitake
Oui le problème serrait réglé mais cela veux dire que tu empêchera les utilisateurs de pouvoir ajouté une nouvelle vidéo qui n'est pas prévu dans ta base de données.
Hummm, non justement, du moins je ne pense pas.

Pour un même ID (même vidéo) on peu avoir 2 (ou 3, 4, n) versions de celle-ci.
Donc on a bien quelque part une relation 1-n sur au moins une donnée.

Théoriquement, il faudrait créer un seul titre "générique" à toutes les vidéos communes.
Par exemple : Tom & Jerry épisode 10

Puis après, créer toutes les différentes versions avec quelque chose comme :
Tom & Jerry épisode 10-V1
Tom & Jerry épisode 10-V2


Ce qui donnerait 2 tables :
videos : video_id | titre_generique | episode | langue
video_versions : video_id | version_id | titre | lien
(ici, chaque version est liée à l'ID de la vidéo, donc liée aussi à l'épisode et à la langue).

Après ça, le plus compliqué restera de détecter l'existence d'une 1ère version lors de la recherche.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
RunCodePhp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2012, 23h01   #7
Candidat au titre de Membre du Club
 
Homme fahd bla
Inscription : janvier 2012
Messages : 34
Détails du profil
Informations personnelles :
Nom : Homme fahd bla
Localisation : Argentine

Informations forums :
Inscription : janvier 2012
Messages : 34
Points : 12
Points : 12
Citation:
Envoyé par RunCodePhp Voir le message
Hummm, non justement, du moins je ne pense pas.

Pour un même ID (même vidéo) on peu avoir 2 (ou 3, 4, n) versions de celle-ci.
Donc on a bien quelque part une relation 1-n sur au moins une donnée.

Théoriquement, il faudrait créer un seul titre "générique" à toutes les vidéos communes.
Par exemple : Tom & Jerry épisode 10

Puis après, créer toutes les différentes versions avec quelque chose comme :
Tom & Jerry épisode 10-V1
Tom & Jerry épisode 10-V2


Ce qui donnerait 2 tables :
videos : video_id | titre_generique | episode | langue
video_versions : video_id | version_id | titre | lien
(ici, chaque version est liée à l'ID de la vidéo, donc liée aussi à l'épisode et à la langue).

Après ça, le plus compliqué restera de détecter l'existence d'une 1ère version lors de la recherche.
J'ai pas très bien compris cela parce que une vidéo ajouter = id+1 donc impossible qu'il soit dans la même page :s qu'elle est la relation qui pourra mettre les deux vidéo dans la même page ça va me rendre fou x) et je sais pas comment résoudre cela :s peut-tu être plus explicative si ça te dérange pas et merci
black-hat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2012, 08h44   #8
Expert Confirmé
 
Avatar de RunCodePhp
 
Inscription : janvier 2010
Messages : 2 738
Détails du profil
Informations personnelles :
Localisation : Réunion

Informations forums :
Inscription : janvier 2010
Messages : 2 738
Points : 3 310
Points : 3 310
Citation:
J'ai pas très bien compris cela parce que une vidéo ajouter = id+1 donc impossible qu'il soit dans la même page
Je met un exemple, peut être verras tu mieux.

D'abord, et selon ton modèle de cette table vidéo, on a la langue.
Théoriquement on devrait avoir une table langue du genre :
Code :
1
2
3
lang_id | code
   1    | fr
   2    | en
Puis on aurait des données comme ci-dessous, en modifiant à peu près comme :
table videos
Code :
1
2
3
4
video_id | titre_generique | episode | lang_id
    1    | Mickey          |    5    | 1
    2    | Tom & Jerry     |   10    | 1
... etc ...
Ensuite la nouvelle qui elle stockera toutes les versions de chaque vidéo, entre autre le lien.
Ce qui veut dire que s'il y a qu'1 seule version, il y aura qu'1 ligne, s'il y a 2 versions -> 2 lignes, etc ...
En somme, il y aura autant de lignes qu'il y aura de versions, et ça pour chaque vidéo.
Table videos_versions
Code :
1
2
3
4
5
6
version_id | video_id | titre | lien
     1     |    1     | Mickey         | mickey_v1.mpeg4
     2     |    2     | Tom & Jerry V1 | tom_jerry_v1.mpeg4
     3     |    2     | Tom & Jerry V2 | tom_jerry_v2.mpeg4
     4     |    2     | Tom & Jerry V3 | tom_jerry_v3.mpeg4
... etc ...
Ici je prévois de (re)mettre un second titre.
Mais rien oblige d'avoir à nouveau un titre. On peu très bien n'avoir qu'1 seul titre pour toutes les versions.
Donc avoir un champ "titre" dans la table "videos" (au lieu de titre_generique), puis supprimer ce champ "titre de la table "videos_versions".
C'est à toi de voir.
Par contre, déplacer le champ "lien" dans cette table "videos_versions" me semble nécessaire car un nom de fichier doit être unique.


Si on fait une recherche par exemple sur le nom, sur le N° de l'épisode et sur la langue, comme ici "Tom & Jerry" "10" (l'épisode) "1" (langue), et bien on détectera 1 ligne sur cette table "videos", mais 3 lignes car 3 versions différentes.
Tu pourras alors lister ces 3 lignes/versions de ce titre là dans la même page.



Tout ceci bien sûr si j'ai bien compris, et que cela correspond à se que tu recherches.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
RunCodePhp est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 05/02/2012, 13h08   #9
Candidat au titre de Membre du Club
 
Homme fahd bla
Inscription : janvier 2012
Messages : 34
Détails du profil
Informations personnelles :
Nom : Homme fahd bla
Localisation : Argentine

Informations forums :
Inscription : janvier 2012
Messages : 34
Points : 12
Points : 12
Citation:
Envoyé par RunCodePhp Voir le message
Je met un exemple, peut être verras tu mieux.

D'abord, et selon ton modèle de cette table vidéo, on a la langue.
Théoriquement on devrait avoir une table langue du genre :
Code :
1
2
3
lang_id | code
   1    | fr
   2    | en
Puis on aurait des données comme ci-dessous, en modifiant à peu près comme :
table videos
Code :
1
2
3
4
video_id | titre_generique | episode | lang_id
    1    | Mickey          |    5    | 1
    2    | Tom & Jerry     |   10    | 1
... etc ...
Ensuite la nouvelle qui elle stockera toutes les versions de chaque vidéo, entre autre le lien.
Ce qui veut dire que s'il y a qu'1 seule version, il y aura qu'1 ligne, s'il y a 2 versions -> 2 lignes, etc ...
En somme, il y aura autant de lignes qu'il y aura de versions, et ça pour chaque vidéo.
Table videos_versions
Code :
1
2
3
4
5
6
version_id | video_id | titre | lien
     1     |    1     | Mickey         | mickey_v1.mpeg4
     2     |    2     | Tom & Jerry V1 | tom_jerry_v1.mpeg4
     3     |    2     | Tom & Jerry V2 | tom_jerry_v2.mpeg4
     4     |    2     | Tom & Jerry V3 | tom_jerry_v3.mpeg4
... etc ...
Ici je prévois de (re)mettre un second titre.
Mais rien oblige d'avoir à nouveau un titre. On peu très bien n'avoir qu'1 seul titre pour toutes les versions.
Donc avoir un champ "titre" dans la table "videos" (au lieu de titre_generique), puis supprimer ce champ "titre de la table "videos_versions".
C'est à toi de voir.
Par contre, déplacer le champ "lien" dans cette table "videos_versions" me semble nécessaire car un nom de fichier doit être unique.


Si on fait une recherche par exemple sur le nom, sur le N° de l'épisode et sur la langue, comme ici "Tom & Jerry" "10" (l'épisode) "1" (langue), et bien on détectera 1 ligne sur cette table "videos", mais 3 lignes car 3 versions différentes.
Tu pourras alors lister ces 3 lignes/versions de ce titre là dans la même page.



Tout ceci bien sûr si j'ai bien compris, et que cela correspond à se que tu recherches.

Très bien expliquer merci ça ma bien aider c'est gentil de ta part
black-hat 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 01h20.


 
 
 
 
Partenaires

Hébergement Web