Afficher les champs d'un table Mysql [Résolu/Fermé]

pcsystemd 530 Messages postés dimanche 27 novembre 2005Date d'inscription 6 février 2018 Dernière intervention - 10 juin 2009 à 14:02 - Dernière réponse :  Unknown user
- 4 janv. 2017 à 11:33
Bonjour,
Tous est dans le titre. En effet je sais afficher toutes les tables de ma BD avec un
SHOW TABLES;


mais pour afficher les champs d'une table ça je sais pas

Merci
Afficher la suite 

12 réponses

pcsystemd 530 Messages postés dimanche 27 novembre 2005Date d'inscription 6 février 2018 Dernière intervention - 10 juin 2009 à 15:42
+3
Utile
1
Merci c'est ok. Je cherchais a SHOW TABLE et non SHOW COLUMNS.
Cette réponse vous a-t-elle aidé ?  
Pouic182 15 Messages postés mardi 24 mars 2009Date d'inscription 12 février 2010 Dernière intervention - 11 déc. 2009 à 14:36
Bonjour,

Pour ceux qui tomberaient sur ce post et qui chercheraient encore, il ya encore plus simple pour MySQL :
describe NOM_DE_LA_TABLE;
heliconius 355 Messages postés mardi 1 juillet 2008Date d'inscription 31 décembre 2017 Dernière intervention - 25 juin 2015 à 16:51
+2
Utile
1
DESC ma_table; = DESCRIBE ma_table; = SHOW COLUMNS FROM ma_table;
SHOW FULL COLUMNS FROM ma_table;

Ca devrait être la réponse marquée comme correcte.
DESCRIBE le_nom_de_ma_table;

Pour lister les champs d'une table (Nom, type, etc) il n'y a pas besoin de plus.
fredo78310 66 Messages postés lundi 16 juin 2008Date d'inscription 10 novembre 2009 Dernière intervention - 10 juin 2009 à 14:18
+1
Utile
1
Bonjour,

si j'ai bien compris ce que tu veux, c'est :
SELECT *
FROM le_nom_de_la_table
WHERE 1


Bonne journée !
Non il voulait juste lister le nom des colonnes et leur types je pense.
Sinon le where 1 est facultatif, mais pas le point virgules :p
Baye Demba - 28 janv. 2010 à 18:39
+1
Utile
j'ai régle ce probléme en faisant cette fonction

public function getColumnsName($table)
{
global $oSql;
$retour[] = array("");
$i = 0;
//$retour[0] = "";
// Requete SQL
$sql = "SHOW COLUMNS FROM " .$this->ma_bd.".$table";//O N POUVAIT AUSSI FAIRE desc table

$r = $oSql->QueryE($sql, $msgE);

while($ligne = $oSql->FetchArrayAssoc($r))
{
foreach ( $ligne as $key => $value )
{
$i++;
//echo $i."<br>";
//NB verifier la version de mysql (12=6*2)=> 16%6=0
if(($i-1)%6 == 0) //les positions de 1,7,13,19...
$retour[] = $value;
}
}
return $retour;
}


NB:SHOW COLUMNS FROM renvoie toutes les informations mais les noms de table sont au positions 1,7,13,19...donc une suite arithmétique de raison 6 d'ou if(($i-1)%6 == 0)
pcsystemd 530 Messages postés dimanche 27 novembre 2005Date d'inscription 6 février 2018 Dernière intervention - 10 juin 2009 à 14:50
0
Utile
Merci. Non c'est pas cela que je veux ça je sais faire afficher le contenu d'une table. Moi ce je veux c'est comme sous Postgresql afficher les champs de ma table mais pas les données.

Par exemple sous Postgresql tu tapes en console :

\d ma table;


et le résultat est :
         Colonne          |           Type           |            Modificateurs                          
---------------------------+--------------------------+------------------------------------
 uid                       | integer                  | not null default nextval(('"object_uid_seq"'::text)::regclass)
 src_modification          | text                     | 
 date_creation             | timestamp with time zone | default now()
 auth_creation             | integer                  | default 0
 date_modification         | timestamp with time zone | default now()
 statut                    | integer                  | default 0
 euid                      | text                     | 
 auth_modification         | integer                  | default 0

0
Utile
Bonjour

C'est dans le manuel mysql :
SHOW [FULL] COLUMNS FROM tbl_name [FROM db_name] [LIKE 'pattern']
bayedemba 14 Messages postés jeudi 1 janvier 2009Date d'inscription 11 mai 2015 Dernière intervention - 28 janv. 2010 à 18:43
-1
Utile
j'ai régle ce probléme en faisant cette fonction affiche toutes les nom des colonnes de la BD

public function getColumnsName($table)
{
global $oSql;
$retour[] = array("");
$i = 0;
//$retour[0] = "";
// Requete SQL
$sql = "SHOW COLUMNS FROM " .$this->ma_bd.".$table";//O N POUVAIT AUSSI FAIRE desc table

$r = $oSql->QueryE($sql, $msgE);

while($ligne = $oSql->FetchArrayAssoc($r))
{
foreach ( $ligne as $key => $value )
{
$i++;
//echo $i."<br>";
//NB verifier la version de mysql (12=6*2)=> 16%6=0
if(($i-1)%6 == 0) //les positions de 1,7,13,19...
$retour[] = $value;
}
}
return $retour;
}


NB:SHOW COLUMNS FROM renvoie toutes les informations mais les noms de table sont au positions 1,7,13,19...donc une suite arithmétique de raison 6 d'ou if(($i-1)%6 == 0)

ça foctionne tré bien
-1
Utile
$req = "SHOW COLUMNS FROM 'maTable' ";

$result = mysql_query($req) or die("<u>Erreur</u> : <br /> ".$req." : <br />".mysql_error());
while ($row = mysql_fetch_array($result))
{
$monchamp = $row["Field"];
echo $monchamp."<br />\n";
}
pcsystemd 530 Messages postés dimanche 27 novembre 2005Date d'inscription 6 février 2018 Dernière intervention - 12 août 2015 à 15:31
-1
Utile
Je réponds un peu tard mais merci à toutes et tous pour votre aide .

@+ ;-)