Posez votre question Signaler

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

pcsystemd 423Messages postés 10 mai 2008Date d'inscription 1 mars 2012Dernière intervention - Dernière réponse le 28 janv. 2010 à 18:43
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
Lire la suite 

Afficher les champs d'un table Mysql »

7 réponses
Réponse
+1
moins plus
Merci c'est ok. Je cherchais a SHOW TABLE et non SHOW COLUMNS.
Pouic182- 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;
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

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


Bonne journée !
Ajouter un commentaire
Réponse
+0
moins plus
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

Ajouter un commentaire
Réponse
+0
moins plus
Bonjour

C'est dans le manuel mysql :
SHOW [FULL] COLUMNS FROM tbl_name [FROM db_name] [LIKE 'pattern']
Ajouter un commentaire
Réponse
+0
moins plus
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)
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Ce document intitulé « Afficher les champs d'un table Mysql » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?