Menu

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

Messages postés
558
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
19 juin 2019
- - 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 

9 réponses

Meilleure réponse
Messages postés
558
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
19 juin 2019
16
3
Merci
Merci c'est ok. Je cherchais a SHOW TABLE et non SHOW COLUMNS.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 54983 internautes nous ont dit merci ce mois-ci

Pouic182
Messages postés
15
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
12 février 2010
1 -
Bonjour,

Pour ceux qui tomberaient sur ce post et qui chercheraient encore, il ya encore plus simple pour MySQL :
describe NOM_DE_LA_TABLE;
Messages postés
440
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
5 juillet 2019
78
3
Merci
DESC ma_table; = DESCRIBE ma_table; = SHOW COLUMNS FROM ma_table;
SHOW FULL COLUMNS FROM ma_table;

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 54983 internautes nous ont dit merci ce mois-ci

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.
2
Merci
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)
Messages postés
66
Date d'inscription
lundi 16 juin 2008
Statut
Membre
Dernière intervention
10 novembre 2009
3
1
Merci
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
Messages postés
558
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
19 juin 2019
16
0
Merci
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
Merci
Bonjour

C'est dans le manuel mysql :
SHOW [FULL] COLUMNS FROM tbl_name [FROM db_name] [LIKE 'pattern']
Messages postés
14
Date d'inscription
jeudi 1 janvier 2009
Statut
Membre
Dernière intervention
11 mai 2015
36
-1
Merci
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
Merci
$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";
}
Messages postés
558
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
19 juin 2019
16
-1
Merci
Je réponds un peu tard mais merci à toutes et tous pour votre aide .

@+ ;-)