[RESOLU] Afficher les champs des tables sql en php

Mammouth du PHP | 620 Messages

18 janv. 2017, 10:34

Bonjour,
j'ai un code qui me permet d'afficher toutes les tables qui sont dans ma base.

Code : Tout sélectionner

<?php $dbconn = pg_connect("host=xxxx port=xxx dbname=wwww user=xxxx password=xxxx"); if (!$dbconn) { echo "Une erreur s'est produite à l'ouverture de la base.\n"; exit; } $sql= "SELECT * from pg_tables where tablename not like 'pg_%' AND tablename not like 'sql%'"; $result = pg_query($dbconn, $sql); if (!$result) { echo "Une erreur s'est produite...\n"; exit; } // ICI JE VEUX AFFICHER NOM DES TABLES while ($row = pg_fetch_row($result)) { $nomtable = $row[1]; echo $nomtable; echo "<br/>\n"; // ICI JE VEUX AFFICHER LES CHAMPS $sql2= "SELECT column_name FROM information_schema.columns WHERE table_name ='$nomtable';"; $result2 = pg_query($dbconn, $sql2); if (!$result2) { echo "Une erreur s'est produite...\n"; exit; } while ($row2 = pg_fetch_row($result2)) { $nomchamp = $row2[1]; echo $nomchamp; echo "<br/>\n"; } } ?>
J'ai bien les nom des tables qui s'affichent mais au lieu d'avoir le nom des champs j'ai juste un retour à la ligne sans les noms.
Avez vous une idée ?

Mammouth du PHP | 620 Messages

18 janv. 2017, 10:46

Bon en fait j'ai trouvé,
pour les champs j'utilise plutôt :

Code : Tout sélectionner

SELECT column_name, data_type, is_nullable, character_maximum_length, udt_name FROM information_schema.columns WHERE table_schema = 'public' AND table_name = '$nomtable' ORDER BY ordinal_position
et c'est tout bon.