OVH Cloud OVH Cloud

Extraction et mise en forme de donnees d'une table

2 réponses
Avatar
FD
Bonjour

J'ai une table qui comporte deux champs : 'id' et 'description'.
Cette table me permet de faire le lien avec d'autres données afin d'avoir
des valeurs explicites en fonction de l'id (rouge au lieu de 2, c'est
mieux).
Or, je souhaiterais récupérer 'id' et 'description' sous la forme suivante :
array(
'1' => 'vert',
'2' => 'rouge',
'3' => 'orange',
...
)
1,2,3... sont les valeurs du champ 'id'
vert, rouge, orange ... sont les valeurs du champ 'description'
Je m'emmêle un peu les pinceaux. Est il possible de le faire facilement.

Merci
A+

2 réponses

Avatar
Bruno Desthuilliers
FD wrote:
Bonjour

J'ai une table qui comporte deux champs : 'id' et 'description'.
Cette table me permet de faire le lien avec d'autres données afin d'avoir
des valeurs explicites en fonction de l'id (rouge au lieu de 2, c'est
mieux).
Or, je souhaiterais récupérer 'id' et 'description' sous la forme suivante :
array(
'1' => 'vert',
'2' => 'rouge',
'3' => 'orange',
...
)
1,2,3... sont les valeurs du champ 'id'
vert, rouge, orange ... sont les valeurs du champ 'description'
Je m'emmêle un peu les pinceaux. Est il possible de le faire facilement.



Je suppose que tu parles de tables dans une base SQL ?
Si oui, c'est AMHA limite hs ici... y a pas un fr.comp.database ?

<meta destinataire='modérateur'>
je ne sais pas s'il est bien venu de répondre quand même dans ce cas,
donc à toutes fins utiles...
</meta>

<meta destinataire='OP'>
FD, au cas où le modérateur filtre, je te l'envoie également en privé...
</meta>


<hs topic="RDBMS" alt="SQL">
Si donc j'ai bien compris la question, en supposant une structure comme
suit :

--------
| Machin |
|--------| -------------
| *code* | | Statut |
| nom | |-------------|
| id |<------------------------>| *id* |
-------- | description |
-------------

Ca te donne pour la création des tables:

create table statut (
id int primary key,
description varchar(10)
);

create table machin (
code int primary key,
nom varchar(30),
id int not null foreign key references statut
);

NB : à ma connaissance, pour MySQL, la clause 'foreign key' ne sert à
rien, mais bon, au moins ça sert de documentation...

Pour afficher la liste des machins avec la description à la place de
l'id, la requête suivante devrait faire ton affaire :

SELECT Machin.code_machin, Machin.nom_machin, Statut.description
FROM Machin, Statut
WHERE Statut.id = Machin.id;

BTW, je te recommande un bon bouquin ou tutoriel sur le SQL en général...
</hs>


HTH,
Bruno

Avatar
P'tit Marcel
FD écrivit:

J'ai une table qui comporte deux champs : 'id' et 'description'.

Or, je souhaiterais récupérer 'id' et 'description' sous la forme
suivante : array(
'1' => 'vert',
'2' => 'rouge',
'3' => 'orange',
...
)
1,2,3... sont les valeurs du champ 'id'
vert, rouge, orange ... sont les valeurs du champ 'description'


$sql="select id, description from latable";
$res=mysql_query($sql) or die (mysql_error()."<br>$sql");
$tableau=array();
while($ligne=mysql_fetch_assoc($res))
$tableau[$ligne['id']]=$ligne['description'];


eça
--
P'tit Marcel
statistiques sur les forums modérés : http://www.centrale-lyon.org/ng/