IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Structure de la table [Oracle]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 115
    Points
    115
    Par défaut Structure de la table
    Bonjour à tous.

    Je suis actuellement à la recherche d'un moyen pour récupérer la structure d'une table via php.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $conn = oci_connect(bla,bla,bla);
    if ($conn ) {    
    $query="select *  from MATABLE";     
    $statement=oci_parse($conn,$query);
    oci_execute($statement);
    while ($row=oci_fetch_row($statement)){
    echo $row[2];
    }else{
    echo "Problème oci_connect
    }
    oci_free_statement($statement);
    oci_close($conn);
    J'ai réussis sans problème à lancer des réquètes, mais je ne connais pas celle qui permet de récupérer la structure. J'en ai essayé plusieurs trouvée via google, mais je n'arrive pas à les mettre en oeuvre via php!

    Si quelqu'un sait comment faire et a le temps de m'expliquer, ca serait bien sympa! Merci beaucoup à tout le monde.

  2. #2
    Membre averti Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Points : 441
    Points
    441
    Par défaut
    Quand tu dis structure, cela signifie-t-il les champs de la table ou autre chose ?
    Etre ou ne pas être, telle est la question sinusoïdale de l'anachorète hypocondriaque et vice et versa .
    Bonsai monsieur, bonsai madame, vous avez gagnez un milliard de degrés au soleil .
    There is no cure for stupidity (ou pas ).

  3. #3
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 115
    Points
    115
    Par défaut
    Ah oui je n'ai pas précisez! En fait il me suffirait d'avoir le nom des colonnes de la table.

    Je dois récupérer un truc du style :

    colonne 1 : num_id
    colonne 2 : nom
    ...

    Je ferais le tri si je récupère plus d'informations, mais j'ai besoin de celle-ci en particulier!

  4. #4
    Membre averti Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Points : 441
    Points
    441
    Par défaut
    As-tu essayé ceci :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select table_name, column_name from all_tab_columns
    where table_name = LeNomDeTaTable;
    Etre ou ne pas être, telle est la question sinusoïdale de l'anachorète hypocondriaque et vice et versa .
    Bonsai monsieur, bonsai madame, vous avez gagnez un milliard de degrés au soleil .
    There is no cure for stupidity (ou pas ).

  5. #5
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 115
    Points
    115
    Par défaut
    J'azi suivit ton conseil et fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $query="SELECT table_name, column_name FROM all_tab_columns WHERE table_name = TYP_PAYS;";     
    $statement=oci_parse($conn,$query);
    oci_execute($statement);
    while ($row=oci_fetch_row($statement)){
    echo $row[0]."','".$row[1]."','".$row[2]."','".$row[3]."<br />";
    }
    mais ca ne me retourne rien du tout.

    Je crois d'ailleurs avoir déjà essayé, enfin plus très sur!

    C'est bien ça la synthaxe à utiliser?

  6. #6
    Membre averti Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Points : 441
    Points
    441
    Par défaut
    Je pense qu'il faut mettre 'TYP_PAYS' au lieu de TYP_PAYS
    Etre ou ne pas être, telle est la question sinusoïdale de l'anachorète hypocondriaque et vice et versa .
    Bonsai monsieur, bonsai madame, vous avez gagnez un milliard de degrés au soleil .
    There is no cure for stupidity (ou pas ).

  7. #7
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 115
    Points
    115
    Par défaut
    Oups oui évidemment... mais ca ne change rien au résultat !

  8. #8
    Membre averti Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Points : 441
    Points
    441
    Par défaut
    C'est bizarre la table ALL_TAB_COLUMNS est censée contenir COLUMN_NAME et TABLE_NAME. Essaie d'exécuter la requête sans la clause WHERE. Je ne m'y connais pas en php, la requête semble correcte, essai de revoir ton code php.
    Etre ou ne pas être, telle est la question sinusoïdale de l'anachorète hypocondriaque et vice et versa .
    Bonsai monsieur, bonsai madame, vous avez gagnez un milliard de degrés au soleil .
    There is no cure for stupidity (ou pas ).

  9. #9
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 115
    Points
    115
    Par défaut
    Même sans la clause WHERE il n'y a aucun résultat !

    Il y a justement les 2 côtés à vérifier : 1 la requète, 2 le moyen de la mettre en place avec php.

    J'ai tuilisé le même code que pour faire un select "classique", mais peut être que je me trompe!
    Et peut être qu'une histoire de droit vient entacher mon travail

    Enfin en tout cas merci pour ton aide!

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 76
    Points : 82
    Points
    82
    Par défaut
    Bonjour,

    Essaie peut etre avec la view user_tab_columns.

    Raphaël

  11. #11
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 115
    Points
    115
    Par défaut
    Ca ne marche pas non plus. Bon finalement j'ai résulu le problème en appelant le propriétaire de la table oracle!

    Je reviendrai de temps en temps tester les propositions pour résoudre ce problème pour quelqu'un d'autre qui en aurait besoin!!

    Merci à tous!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Importer la structure d'une table
    Par barthelv dans le forum Outils
    Réponses: 3
    Dernier message: 05/10/2004, 11h37
  2. lister la structure d'une table
    Par Maitre B dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/09/2004, 10h43
  3. [SQL Access] Modifier la structure d'une table
    Par Le Lézard dans le forum Bases de données
    Réponses: 6
    Dernier message: 28/06/2004, 14h03
  4. Réponses: 7
    Dernier message: 18/06/2004, 09h58
  5. Lister la structure d'une table
    Par TMuet dans le forum SQL
    Réponses: 2
    Dernier message: 29/12/2003, 17h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo