|
Publicité | ||||||||||||||||||||||
|
|
#1 (permalink) |
|
Membre à l'essai
![]() Date d'inscription: juin 2009
Messages: 49
|
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 |
|
|
|
|
|
#2 (permalink) |
|
Membre émérite
![]() Date d'inscription: mars 2004
Localisation: 75013
Âge: 25
Messages: 825
|
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()...
__________________
référence PHP, référence JavaScript, mettez-les dans vos marque-pages et lisez-les avant de poster ici ;-) |
|
|
|
|
|
#3 (permalink) |
|
Membre à l'essai
![]() Date d'inscription: juin 2009
Messages: 49
|
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. |
|
|
|
|
|
#4 (permalink) |
![]() |
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. Futur ingénieur CNAM, ingénieur d'étude à l'École Nationale de Formation Agronomique. « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) |
|
|
|
|
|
#5 (permalink) |
|
Membre à l'essai
![]() Date d'inscription: juin 2009
Messages: 49
|
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... |
|
|
|
|
|
#6 (permalink) |
![]() |
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 :
SELECT u2.username FROM user AS u1 INNER JOIN amitie AS a ON u1.user_id = a.a_id_user INNER JOIN user AS u2 ON a.a_id_ami = u2.user_id WHERE u1.username = 'Daviloppeur' ORDER BY u2.username
__________________
Philippe Leménager. Futur ingénieur CNAM, ingénieur d'étude à l'École Nationale de Formation Agronomique. « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) |
|
|
|
|
|
![]() |
||
Champs unique séparé par le même caractère
|
||
| Outils de la discussion | |
|
|