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 :

[Conception] Votre avis sur une méthode


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 103
    Par défaut [Conception] Votre avis sur une méthode
    Bonjour
    J'utilise une méthode que je n'ai pas vu ailleurs, donc je me demande si je fais bien...
    J'ai un champ mysql qui doit contenir plusieurs données, que je dois manipuler (ajouter, insérer, supprimer etc)
    Après m'être pris la tête sur la façon de m'y prendre, j'ai décidé de séparer chaque donnée avec un caractère spécial (genre le | ou la , ), de récupérer cette chaîne de caractère, et de la tranformer en tableau avec explode.
    Après je peux bidouiller ce tableau, le retranformer avec implode, et réécrire le champ mysql.

    Mais ça me semble un peu bidouille comme méthode.
    Y'a t'il pas mieux à faire?

    Merci

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Suivant la nature des données et du format dans lequel elles sont stockées vous pourrez simplifier votre code en utilisant directement dans les requêtes les fonctions MySQL.

    Si c'est une relation *,n => *,n, vous ne pouvez pas gérer cela avec une nouvelle table ?

    Vous devriez lire cette discussion.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 103
    Par défaut
    Je ne connais pas bien les fonctions "avancées" de mysql, il faudra que je m'y penche. D'ailleurs la discussion citée m'aide bien, merci

    La plupart des cas, il s'agit de série de nombres (index): 125,853,1621,184 etc...
    Je vois pas très bien en quoi une nouvelle table peut m'aider

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Citation Envoyé par AIexis
    Je ne connais pas bien les fonctions "avancées" de mysql, il faudra que je m'y penche.
    http://dev.mysql.com/doc/refman/5.0/fr/functions.html à bookmarker

    Citation Envoyé par AIexis
    Je vois pas très bien en quoi une nouvelle table peut m'aider
    C'est la réponse que vous donnerait un travail de modélisation (Modèle E/A)

  5. #5
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 657
    Par défaut
    Citation Envoyé par AIexis
    La plupart des cas, il s'agit de série de nombres (index): 125,853,1621,184 etc...
    Je vois pas très bien en quoi une nouvelle table peut m'aider
    Si ces index sont des références sur une autre table, ta relation est ce qu'on appelle généralement une relation N-N : Chaque "A" possède N éléments "B", et chacun de ces éléments "B" peut être utilisé dans plusieurs "A". On utilise alors une table de jointure
    Je suis sur que tu trouveras des tonnes d'articles passionnant à ce sujet, notamment dans la partie SQL de développez.com

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 343
    Par défaut
    Je souscrit aux précédents, si tu as plusieurs données dans un champs, c'est peut être un problème de conception. La méthodologie qui peut te permettre d'y voir plus clair passe par un MCD. Y'a quelques cours de Merise (la méthode) qui peut bien aider...

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 103
    Par défaut
    Est-il donc si inhabituel qu'un champ contienne plusieurs valeurs?

    Merise... faut pas m'en parler, j'en fais encore des cauchemars

    Merci à tous d'avoir pris le temps de répondre... je crois que j'aurai pas le courage de chercher à faire mieux que ce que j'ai fais, puisque vos solutions me semblent vraiment trop compliqué pour ma 'tit tête

Discussions similaires

  1. [Sequoia] Votre avis sur la Méthode
    Par Zorro dans le forum Autres
    Réponses: 5
    Dernier message: 21/05/2008, 16h02
  2. Votre avis sur une proposition de job
    Par plex dans le forum Emploi
    Réponses: 7
    Dernier message: 18/01/2007, 10h11
  3. [Programmation distribuée] Votre avis sur une archi
    Par Acarp47 dans le forum Plateformes (Java EE, Jakarta EE, Spring) et Serveurs
    Réponses: 7
    Dernier message: 29/06/2005, 14h01
  4. Votre avis sur une bannière animée developpez.com
    Par Marc Lussac dans le forum Evolutions du club
    Réponses: 14
    Dernier message: 02/02/2005, 07h52

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