Clause LIKE

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

22 sept. 2008, 18:24

En fait, tant qu'il est possible, nous essayons de donner le cheminement qui nous parrait le plus sain, et nous pensons que revoir la conception (s'il y en a eu une) peut être une bonne voie d'apprentissage.

Et comme notre but est avant tout que les membres qui posent une question apprennent de leurs erreurs, cette manière de faire nous parrait bien.

Mais en aucun cas nous pouvons te reprocher d'avoir donné une réponse, surtout qu'elle répond à la problématique. Nous nous sommes juste permis de donner notre avis et ce qui nous semble le mieux ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

ViPHP
ViPHP | 2291 Messages

22 sept. 2008, 18:40

2 solutions :
Lorsque le maître change, que deviennent les enfants ?
exemple :
le maitre portait le numéro OM72 et devient OM80

Si les enfants doivent devenir OM80a, OM80b, ... alors il faut que tu décomposes le numéro des enfants en (numéro parent/id enfant)

Et si tu me dis que ce n'est pas possible, j'ai envie de te répondre que le client trouve toujours le moyen que ça devienne possible (genre, le parent est remplacé et tous les enfants doivent changer de parent ;))
Ce n'est pas possible car en réalité j'ai donner comme exemple élèves, enfants, maîtres, etc....
Mais la réalité est que c'est un réseau existant d'ampli primaire, ampli secondaire (télédistribution) je crée un programme qui va me permettre de faire l'inventaire du réseau et il n'est pas possible (techniquement)de changer de maître car cela voudrait dire changer la structure même du réseau se qui est inimaginable, par contre les élèves eux pourrait changer de maître. Voilà pourquoi je cherche un moyen simple de pouvoir manipuler la numérotation.
De plus c'est des techniciens qui encode les données donc c'est même pas la peine de penser à faire un truc compliqué si on veut qu'ils encode correctement cela doit être trés simple.
Quand au client c'est vraiment pas un facile. (c'est moi :wink: ).
Et un détail aussi la numérotation existe et je dois composer avec.

Plus sérieusement la conception peut être revue puisque je débute le projet.
Mon idée de départ est de créer une TABLE pour mes primaires, et une TABLE pour mes secondaires dans les deux TABLES un champs auto_increment.
Donc les champ numéro primaire OM27
et le champ du secondaire OM27a
Et les champs numéro secondaire OM27a

pour relier les deux j'utilise un LIKE om27_

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

23 sept. 2008, 10:02

permet moi d'insister puisque la conception peut être revue sans problèmes
placer un id auto-incrémenté (donc un int surtout pas de blob pour 5 caractères :? ) pour tout le monde... ajouter un champ "maitre".

pour l'entrée OM72 qui est un "maître" ce champ vaut null
pour les élèves ce champ contient l'id du maître (OM72).... tu peux donc facilement retrouver tous les élèves avec une jointure en partant du maître.
tu peux garder les champs OM72 (et fils) dans un champ nom mais pour savoir s'il est père ou fils un id effectuant la relation est ce qu'il y a de mieux et facile.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

ViPHP
ViPHP | 2291 Messages

23 sept. 2008, 16:37

Je te permet :wink: et surtout te remercie je vais travailler en suivant vos conseils.

ViPHP
ViPHP | 2291 Messages

16 oct. 2008, 19:38

tu peux garder les champs OM72 (et fils) dans un champ nom mais pour savoir s'il est père ou fils un id effectuant la relation est ce qu'il y a de mieux et facile.
J'ai décider de faire comme ceci:
J'oblige a passer par le parent pour encoder l'enfant ce qui me permet de prendre l'id du parent
et pour récupérer les enfants il me suffit de de faire un WHERE avec l'id du parent :wink:
merci