|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Inscription : juin 2009 Messages : 76 ![]() |
Bonjour,
Je possède un champs de type char contenant plusieurs mots (sans espace) séparé toujours par le même caractère (chr 10). Existe t'il un moyen pour faire une requête en php permettant de faire ceci: Requêtes recherchées :
merci |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() David GuillotChef de projet en SSII Inscription : mars 2004 Messages : 879 ![]() |
Salut
Qu'est-ce que tu appelles "Champ unique", quel est ton contexte (base de données, fichier texte, fichier xml...) ? Au pif je te dirais bien de regarder du côté de la fonction explode()...
__________________
Avant de poser une question ici : ![]() Après résolution de votre question : un clic sur , un et un vote pour les personnes qui vous ont aidé |
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Inscription : juin 2009 Messages : 76 ![]() |
Pour résumer le contexte, j'utilise une bdd mysql.
Dans cette bdd, je possède une table "test" ayant un champs de type char appelé "listemots" et un de type int appelé "id". Dans listemots , je stocke un ou plusieurs mots séparé par le caractère chr(10). par exemple : id->1 listemots->camionXvoitureXcasserole id->2 listemots->rougeXvertXbleu id->3 listemots->solitaire id->... (ici X symbolise le chr(10)) En utilisant la fonction explode de php je dois pouvoir effectivement parvenir à mon résultat, mais je souhaiterais autant que possible faire une solution 100% mysql si cela est possible. |
|
|
00
|
|
|
#4 |
![]() ![]() |
Pourquoi y a t-il plusieurs mots accolés les uns aux autres et, d'après ton exemple, apparemment sans rapport ?
Si encore tu travaillais sur une phrase, donc des mots séparés par des espaces, on pourrait comprendre mais là il y a vraisemblablement une erreur de modélisation des données. Parle nous du cas concret plutôt que d'une table test afin qu'on comprenne mieux de quoi il s'agit et ce que tu veux faire.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#5 |
|
Membre à l'essai
![]() Inscription : juin 2009 Messages : 76 ![]() |
Alors sans passer par le mode test, voici ma situation réelle.
Je possède une table listeamis comprenant plusieurs champs: nom : id type : int (autoincrement) nom : username type : varchar(20) nom : amis type : text Le but est de stocker pour un username la liste de tous ces amis dans le champs amis. id->1 nom->toto amis->victor,paul,valentine id->2 nom->paul amis->toto,juliette,alex id->... Pour le moment je gère l'ajout d'amis en ajoutant chr(10) et en ajoutant l'amis ensuite. Le champs amis est donc de la forme amis1(chr10)amis2(chr10)amis3... |
|
|
00
|
|
|
#6 | ||
![]() ![]() |
C'est bien ce que je disais, il y a une erreur de modélisation !
![]() Règle de gestion : Un user peut avoir pour ami des users et un user peut être considéré comme ami par d'autres users. MCD : user -0,n----etre_ami----0,n- user Tables : user (user_id, username...) amitie (a_id_user, a_id_ami...) Quels sont les amis de Daviloppeur ? Code SQL :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||
|
00
|
|
|
#7 |
|
Membre à l'essai
![]() Inscription : juin 2009 Messages : 76 ![]() |
Merci beaucoup pour ta réponse.
Je vais revoir mon MCD et modifier en conséquence. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com