Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5
  1. #1
    Invité régulier
    Femme Profil pro Pat Hoche
    Développeur informatique
    Inscrit en
    octobre 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Nom : Femme Pat Hoche
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : octobre 2012
    Messages : 20
    Points : 7
    Points
    7

    Par défaut Ordre des champs (ou colonnes)

    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

  2. #2
    Expert Confirmé
    Inscrit en
    août 2008
    Messages
    2 168
    Détails du profil
    Informations forums :
    Inscription : août 2008
    Messages : 2 168
    Points : 3 987
    Points
    3 987

    Par défaut

    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.

  3. #3
    Expert Confirmé
    Profil pro
    Inscrit en
    octobre 2008
    Messages
    1 832
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : octobre 2008
    Messages : 1 832
    Points : 2 766
    Points
    2 766

    Par défaut

    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.

  4. #4
    Invité régulier
    Femme Profil pro Pat Hoche
    Développeur informatique
    Inscrit en
    octobre 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Nom : Femme Pat Hoche
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : octobre 2012
    Messages : 20
    Points : 7
    Points
    7

    Par défaut

    Merci skuatamad.
    On va voir ça.

  5. #5
    Membre du Club
    Inscrit en
    janvier 2008
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : janvier 2008
    Messages : 131
    Points : 57
    Points
    57

    Par défaut

    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.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •