[résolu] PHP/MySQL > récup nombres de champs et nom des champs d'une table
Forum Programmation : [résolu] PHP/MySQL > récup nombres de champs et nom des champs d'une table
Bonjour,
j'utilises php avec MySQL et il me faudrait une fonction qui prend en paramètre le nom d'une table et qui me retourne le nombre de champs de cette table dans une variable de type entier et le nom de chaque champ dans un tableau de chaînes.
Les informations de connection à la base sont ok je cherches juste à récupérer le nombre de champs et le nom de chacun de ces champs.
Si vous connaissez une fonction de ce type, je suis preneur :-D
mici tlm ;-)
Il n'en existe pas à ma connaissance des toutes faites. Mais, ce n'est pas bien difficile d'en faire une. Comme ça, à froid :
Code :
|
Quant aux noms de chaque champs... Non, je vois pas là... Faut dire que j'ai pas énormément dormi ces temps-ci, et là ça commence à manquer, le sommeil ! Si ça me vient, je te tiendrais au courant ! ;-)
merci pour ton aide Sethpolma ,je testerais ça demain.
Par contre, il me faut savoir le nombre de champs (colonnes) et pas le nombre d'enregistrements présents dans la table.
Est ce que ça renvoi le nombre de champs ou le nombre d'enregistrements ? :-?
Merci à toi ;-)
Ce script te ramène le nombre de champs. Si tu veux, l'étoile sélectionne tous les champs. Puis, on fait un mysql_fetch_array. C'est à dire qu'on place le résultat dans un tableau. Or, on récupère la taille de ce tableau, d'où le nombre total de champs.
voila :
$result = mysql_list_tables("base_de_donnees" ); // récupère toutes les tables de la base de donnes
while ($row = mysql_fetch_row($result))
{
echo "<b>Table : $row[0]</b><br>";
$fields = mysql_list_fields("base_de_donnees", $row[0] ); //récupère tout les champs d'un table $row étant le tableau de toutes les tables
$columns = mysql_num_fields($fields); // récupère le nombre de champs d'un table
for ($i = 0; $i < $columns; $i++)
{
echo mysql_field_name($fields, $i) . "<br>"; // on affiche tous les champs de la table en cours
}
}
voila si tu as compris ce script liste toutes les tables de ta base de donnée et affiche pour chaque table le nom de tous les champs.
voila avec sa tu as tout pour réussir.
EDIT: je viens de relir ton message et tu as besoin que de sa toi en fait :
$fields = mysql_list_fields("base_de_donnees", "table" ); //récupère tout les champs d'un table
$num_de_champs = mysql_num_fields($fields);
PS : le script du 1er qui t'as répondu marche aussi.
donc tu as le choix :-P
Wahouu, je suis agréablement surpris par ce réponses très précises, je vais tester sur le champ toutes ces possibilités.
Merci à tous :-D
Voila le résultat final, si ça peut servir à quelqu'un d'autre.
3 Fichiers au final:
- 1 qui représente le programme principal : Essai.php
- 1 qui déclare les fonctions: fonctions.php
- 1 qui permet de se connecter à la base de données : connection_mysql.php
Normalement,seuls les fichiers essai.php et connection_mysql doivent être modifiés pour fonctionner chez vous.
:-D
essai.php
Code :
|
fonctions.php
Code :
|
connection_mysql.php
Code :
|
Voila voila ;-)
Ca marche chez moi alors ca doit marcher chez vous aussi. ces sources peuvent être copiées a mort, et pi d'facon vive l'Open Source alors zut !! ;-)
nikel poolos ! sa fait plaisr d'aider quelqu'un qui s'est déja renseigné sur le php avant , et qui le connait avant. Vu comme tu as très bien su te servir de ce qu'on ta filé comme indice , sans te filer tout le script complet !
merci sa me fait plaisir par ce qu'à force de voir des posts demandant de l'aide pour faire un script en php et que tu t'apperçois que le type n'a jamais entendu parler de ce language bha sa dégoute un peu....
heuresement il y a encore des gens comme Poolos !!!!
lol !!
++
et sa me fait plaisir de t'avoir aidé sincérement ! ^^
C'est à moi de vous remercier, sans vous, oualou comme on dit par chez moi, j'aurais fini par trouver mais voila ça a pris deux plombes de moins.
Pi comme je suis du genre à partager mes sources, bha voila
ça fait zizir !
;-)
Il y a 1110 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.
