Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/08/2011, 11h41   #1
Invité de passage
 
Homme Frédéric
Inscription : août 2011
Messages : 10
Détails du profil
Informations personnelles :
Nom : Homme Frédéric
Localisation : France

Informations forums :
Inscription : août 2011
Messages : 10
Points : 2
Points : 2
Par défaut Manipulation chaine de caractères

Bonjour,
Je dois stocker dans un champ de 252 caractères 9 noms de personnes : Personne 1, personne2, ..etc...


Comment les stocker dans ce champ pour pouvoir les récupérer ensuite, sachant que je dois être en mesure de retrouver le nom de la personne1 ou personne 2 etc.....

J'ai essayé avec un concat, mais ensuite comment extraire le nom souhaité ? Les blancs sont supprimés et les noms à la suite les uns des autres ... ?!

Merci pour votre aide
fredsql est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2011, 11h56   #2
Membre Expert
 
Avatar de Yanika_bzh
 
Homme Yannick
Ingénieur Etudes & Developpements
Inscription : février 2006
Messages : 1 125
Détails du profil
Informations personnelles :
Nom : Homme Yannick
Localisation : France, Deux Sèvres (Poitou Charente)

Informations professionnelles :
Activité : Ingénieur Etudes & Developpements
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2006
Messages : 1 125
Points : 1 670
Points : 1 670
Et vous n'avez pas possibilité de modifier votre modèle de données ?
Car cela indique un pb de modélisation au départ.
Vous pourrez vous en sortir, mais vos requêtes seront horribles, non maintenables et très peu performantes ...
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)
Yanika_bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2011, 12h00   #3
Invité de passage
 
Homme Frédéric
Inscription : août 2011
Messages : 10
Détails du profil
Informations personnelles :
Nom : Homme Frédéric
Localisation : France

Informations forums :
Inscription : août 2011
Messages : 10
Points : 2
Points : 2
En effet je suis tout à fait d'accord avec vous, mais j'hérite d'une situation délicate à faire évoluer. Je n'ai donc pas vraiment d'autre solution que de passer par des requêtes SQL ....
fredsql est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2011, 12h22   #4
Membre Expert
 
Avatar de Yanika_bzh
 
Homme Yannick
Ingénieur Etudes & Developpements
Inscription : février 2006
Messages : 1 125
Détails du profil
Informations personnelles :
Nom : Homme Yannick
Localisation : France, Deux Sèvres (Poitou Charente)

Informations professionnelles :
Activité : Ingénieur Etudes & Developpements
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2006
Messages : 1 125
Points : 1 670
Points : 1 670
Dans ce cas, il ne vous reste qu'à concaténer vos noms en les séparant( avec un séparateur non utilisable dans ces noms évidemment).
Après, vous aurez à faire un gros travail de gestion de chaine pour pouvoir récupérer la bonne information au bon endroit ...

Votre bible deviendra donc ceci

Bon courage
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)
Yanika_bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2011, 13h37   #5
Invité de passage
 
Homme Frédéric
Inscription : août 2011
Messages : 10
Détails du profil
Informations personnelles :
Nom : Homme Frédéric
Localisation : France

Informations forums :
Inscription : août 2011
Messages : 10
Points : 2
Points : 2
Whaouuu cette bible ne m'aide pas beaucoup, je ne sais toujours pas quelle solution choisir pour stocker et restituer les infos !
fredsql est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2011, 14h09   #6
Membre Expert
 
Avatar de kdmbella
 
Homme Demazy Mbella
Développeur Web
Inscription : août 2010
Messages : 620
Détails du profil
Informations personnelles :
Nom : Homme Demazy Mbella
Localisation : Cameroun

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : août 2010
Messages : 620
Points : 1 470
Points : 1 470
dans ce cas de figure la solution la plus courante c'est l'usage d'un caractère séparateur qui ne sera pas interprété par la BD comme ^par exemple "#" ou "@" ainsi lorsque tu récupères ton champ, tu cherches une fonction proche du split() de php ou de javascript et ça te découpe ta chaine en tenant compte de ton séparateur et ça stocke le résultat dans un tableau, donc si tu à un truc de ce genre :
Citation:
$tachaine = "personne1#personne2#personne3";
$tab = split("#", $tachaine);
//ainsi $tab[0] = personne1 ; $tab[1] = personne2 ainsi de suite
j'espère que ça te permettra de voir plus clair
__________________
Trois personnes peuvent garder un secret si deux d'entre elles sont mortes. :Benjamin Franklin
L'humanité se divise en trois catégories : ceux qui ne peuvent pas bouger, ceux qui peuvent bouger, et ceux qui bougent : Benjamin Franklin
Le hasard, c'est le déguisement que prend Dieu pour voyager incognito: Albert Einstein
bon je m'arrête là au risque de me faire buter
kdmbella est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2011, 14h37   #7
Invité de passage
 
Homme Frédéric
Inscription : août 2011
Messages : 10
Détails du profil
Informations personnelles :
Nom : Homme Frédéric
Localisation : France

Informations forums :
Inscription : août 2011
Messages : 10
Points : 2
Points : 2
C'est clair...je vais essayer de mettre cela en place...

Merci !
fredsql est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 15h21   #8
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 012
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 012
Points : 18 288
Points : 18 288
Envoyer un message via MSN à CinePhil
Citation:
Envoyé par fredsql Voir le message
Je dois stocker dans un champ de 252 caractères 9 noms de personnes : Personne 1, personne2, ..etc...
Tu n'as vraiment pas la possibilité de modifier le modèle de données ?
Parce qu'en plus il faut espérer que l'ensemble des 9 noms ne dépasse pas 252 - 8 séparateurs = 244 caractères, soit 27 caractères de moyenne. Si ces noms comprennent des prénoms, tu risques d'y arriver.
__________________
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 !
CinePhil est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h20.


 
 
 
 
Partenaires

Hébergement Web