Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & Oracle
PHP & Oracle Forum d'entraide sur Oracle avec PHP. Avant de poster -> FAQ Oracle et Cours Oracle
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 27/08/2007, 10h18   #1
Membre régulier
 
Inscription : avril 2006
Messages : 177
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 177
Points : 80
Points : 80
Envoyer un message via MSN à Samyhijodelaluna
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 :
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.
Samyhijodelaluna est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2007, 13h14   #2
Membre éprouvé
 
Avatar de AL1986
 
Inscription : juillet 2007
Messages : 434
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : juillet 2007
Messages : 434
Points : 401
Points : 401
Quand tu dis structure, cela signifie-t-il les champs de la table ou autre chose ?
__________________
Citation:
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 ).
AL1986 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2007, 14h27   #3
Membre régulier
 
Inscription : avril 2006
Messages : 177
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 177
Points : 80
Points : 80
Envoyer un message via MSN à Samyhijodelaluna
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!
Samyhijodelaluna est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2007, 14h47   #4
Membre éprouvé
 
Avatar de AL1986
 
Inscription : juillet 2007
Messages : 434
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : juillet 2007
Messages : 434
Points : 401
Points : 401
As-tu essayé ceci :
Code SQL :
1
2
SELECT table_name, column_name FROM all_tab_columns
WHERE table_name = LeNomDeTaTable;
__________________
Citation:
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 ).
AL1986 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2007, 15h13   #5
Membre régulier
 
Inscription : avril 2006
Messages : 177
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 177
Points : 80
Points : 80
Envoyer un message via MSN à Samyhijodelaluna
J'azi suivit ton conseil et fait :

Code :
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?
Samyhijodelaluna est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2007, 16h22   #6
Membre éprouvé
 
Avatar de AL1986
 
Inscription : juillet 2007
Messages : 434
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : juillet 2007
Messages : 434
Points : 401
Points : 401
Je pense qu'il faut mettre 'TYP_PAYS' au lieu de TYP_PAYS
__________________
Citation:
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 ).
AL1986 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2007, 16h34   #7
Membre régulier
 
Inscription : avril 2006
Messages : 177
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 177
Points : 80
Points : 80
Envoyer un message via MSN à Samyhijodelaluna
Oups oui évidemment... mais ca ne change rien au résultat !
Samyhijodelaluna est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2007, 16h45   #8
Membre éprouvé
 
Avatar de AL1986
 
Inscription : juillet 2007
Messages : 434
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : juillet 2007
Messages : 434
Points : 401
Points : 401
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.
__________________
Citation:
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 ).
AL1986 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2007, 17h22   #9
Membre régulier
 
Inscription : avril 2006
Messages : 177
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 177
Points : 80
Points : 80
Envoyer un message via MSN à Samyhijodelaluna
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!
Samyhijodelaluna est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2007, 13h22   #10
Membre du Club
 
Inscription : mars 2007
Messages : 76
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 76
Points : 55
Points : 55
Bonjour,

Essaie peut etre avec la view user_tab_columns.

Raphaël
rapha51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2007, 15h26   #11
Membre régulier
 
Inscription : avril 2006
Messages : 177
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 177
Points : 80
Points : 80
Envoyer un message via MSN à Samyhijodelaluna
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!
Samyhijodelaluna est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



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


 
 
 
 
Partenaires

Hébergement Web