IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Récupérer résultats similaires


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Argentine

    Informations forums :
    Inscription : Janvier 2012
    Messages : 61
    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 .

  2. #2
    Membre chevronné Avatar de humitake
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 399
    Par défaut
    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

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Argentine

    Informations forums :
    Inscription : Janvier 2012
    Messages : 61
    Par défaut
    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 ?

  4. #4
    Membre chevronné Avatar de humitake
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 399
    Par défaut
    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

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Argentine

    Informations forums :
    Inscription : Janvier 2012
    Messages : 61
    Par défaut
    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 :/

  6. #6
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    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.

  7. #7
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Argentine

    Informations forums :
    Inscription : Janvier 2012
    Messages : 61
    Par défaut
    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

  8. #8
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  9. #9
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Argentine

    Informations forums :
    Inscription : Janvier 2012
    Messages : 61
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

Discussions similaires

  1. Récupérer résultat d'une requête
    Par nerila dans le forum Bases de données
    Réponses: 10
    Dernier message: 02/03/2007, 12h53
  2. Récupérer résultat d'une rotation
    Par Burckel dans le forum OpenGL
    Réponses: 5
    Dernier message: 14/12/2006, 17h08
  3. [MySQL] Récupérer résultat requête tableau
    Par Invité dans le forum JDBC
    Réponses: 2
    Dernier message: 03/05/2006, 08h22
  4. [VBA-E] Récupérer résultat d'une requête
    Par ragnarök dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/04/2006, 16h21
  5. Réponses: 5
    Dernier message: 30/06/2005, 10h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo