|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Pat HocheDéveloppeur informatique Inscription : octobre 2012 Messages : 20 ![]() |
Bonjour à tous.
Peut-on modifier l'ordre des champs dans une table ? Je m'explique. J'ai une table qui sert à stocker des notes d'élèves obtenues à des modules de cours. Sa structure est : id_eleve | Geographie_1 | Geographie_2 | Geographie_3 | Math_1 | Math_2 | Math_3 J'ai une page php qui affiche cette table sous forme de tableau. J'utilise pg_field_name dans une boucle pour obtenir le nom des champs et ainsi créer l'en-tête de mon tableau. Je fais ainsi pour ne pas avoir à modifier le code php si le nom d'un module change. Jusque là, tout va bien. Si je rajoute par exemple un module de Geographie, il va se retrouver à la fin, comme ça : id_eleve | Geographie_1 | Geographie_2 | Geographie_3 | Math_1 | Math_2 | Math_3 | Geographie_4 Et cela se retrouve dans l'affichage de mon tableau. Donc je voudrais pouvoir insérer dans ma table le champ de mon module de cours à la bonne place : id_eleve | Geographie_1 | Geographie_2 | Geographie_3| Geographie_4 | Math_1 | Math_2 | Math_3 |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : août 2008 Messages : 1 690 ![]() |
Inutile de modifier l'ordre de création des colonnes dans la table.
Utilise information_schema (columns) pour récupérer les colonnes de la table (à la place de pg_field_name) couplé à un ORDER BY. Par contre il y a un évident problème de modélisation. |
|
|
00
|
|
|
#3 |
![]() ![]() Inscription : octobre 2008 Messages : 1 702 ![]() |
On peut pas avec PostgreSQL créer une nouvelle colonne ailleurs qu'à la fin ni la déplacer après création.
Mais effectivement cette modélisation sous forme de tableur n'est pas adaptée aux bases de données, en principe en BDD on ferait une table de modules. |
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Pat HocheDéveloppeur informatique Inscription : octobre 2012 Messages : 20 ![]() |
Merci skuatamad.
On va voir ça. |
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Inscription : janvier 2008 Messages : 127 ![]() |
Avec EMS SQL Manager for PostgreSQL (même la version Freeware gratuite) il est possible de changer l'ordre des colonnes mais seulement s'il n'y a aucune clé étrangère dans la table.
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com