Accueil > > > AFFICHAGE D'UNE TABLE MYSQL DANS UN TABLEAU HTM AVEC LES TITRES DES CHAMPS
AFFICHAGE D'UNE TABLE MYSQL DANS UN TABLEAU HTM AVEC LES TITRES DES CHAMPS
Information sur la source
Description
Ce code permet d'afficher l'integralité d'une table mysql dans un tableau html peut importe les titres des champs de la table J'ai pas vu de code satisfaisant pour faire la meme chose c'est pour ça que je le publie ... Tout repose sur l'utilisation de show columns Faut dire si il y a des besoin c'est la première source que je publie. Toute remarque raisonnable est la bienvenue
Source
- /*----------------------------------------------Fichier : connexion.php------------------------------------*/
- <?php $identifiant = "";
- $password = "";
- $Adresse = "";
- $NomTable = "";
- ?>
- /*----------------------------------------------Fichier : SGBD.class.php------------------------------------*/
- <?php
- // Création de la classe mère
- class SGBD
- {
- // Attribut du login du SGBD
- var $SGBD_login;
- // Attribut du password du SGBD
- var $SGBD_password;
- // Attribut de l'hôte du SGBD
- var $SGBD_host;
- // Attribut du nom de la base de données
- var $SGBD_base;
- // Attribut de connection
- var $connect;
- // Attribut de requête
- var $requete;
-
- // Définition du constructeur
- function SGBD ($login, $password, $host, $base){
- // Vérification des variables
- if (empty ($login) || empty ($host) || empty ($base)){
- // Affichage du message d'erreur
- echo "<b>Erreur :</b> Une ou plusieurs variable(s) n'ont pas été renseigné.";
- exit;
- }
- else {
- // Initialisation des attributs
- $this->SGBD_login = $login;
- $this->SGBD_password = $password;
- $this->SGBD_host = $host;
- $this->SGBD_base = $base;
- }
- }
- }//fin de la classe
- ?>
- /*-----------------------------------------------Fichier : MySQL.SGBD.class.php-------------------------*/
- <?php
- // Création de la classe fille
- class MySQL extends SGBD
- {
- // Méthode connect()
- function connect ()
- {
- // Connection à MySQL
- $connect = @mysql_connect ($this->SGBD_host, $this->SGBD_login, $this->SGBD_password);
-
- // Vérification de la connection
- if (!$connect){
- // Affichage du message d'erreur
- echo "<b>Erreur :</b> Connection à MySQL impossible";
- exit;
- }
-
- // Connection à la base de données
- if (!@mysql_select_db ($this->SGBD_base, $connect)){
- // Affichage du message d'erreur
- echo "<b>Erreur :</b> Connection à la base de données impossible";
- exit;
- }
- // Initialisation de l'attribut de connection
- $this->connect = $connect;
- }
-
- // Méthode requete()
- function requete ($requete){
- // Exécution de la requête
- $result = mysql_query ($requete, $this->connect);
- // Vérification de la requête
- if (!$result){
- // Affichage du message d'erreur
- echo "<b>Erreur :</b> Impossible d'effectuer la requête au serveur";
- exit;
- }
- else {
- // Initalisation de l'attribut de requête
- $this->requete = $result;
- }
- }
-
- // Méthode deconnect()
- function deconnect (){
- // Déconnection de la base de données
- mysql_close ($this->connect);
- }
- }//fin de la classe
- ?>
- /*----------------------------------CODE à METTRE dans la page----------------------------------------*/
-
- <table width="100%" border="1" cellspacing="1" cellpadding="1" name="head">
- <tr>
- <?php
- /*--------------------declaration--------------------*/
- // Inclusion de la classe mère
- include ("./Commun/SGBD/SGBD.class.php");
- /* Initialisation de la variable du SGBD correspondant */
- $SQL = "MySQL";
- // Inclusion de la classe fille du SGBD correspondant
- include ("./Commun/SGBD/".$SQL.".SGBD.class.php");
- //Inclusion des paramêtres de connexion
- include ("./Commun/connexion.php");
- //initialisation des objets
- $choix = new $SQL($identifiant,$password,$Adresse,$NomTable);
- $choix2 = new $SQL($identifiant,$password,$Adresse,$NomTable);
-
- $requete = "select $NomChamp from `$nom_table`";
- /*---------------------Fin de déclaration----------------------*/
- /*---------------------Debut script-----------------------------*/
- //connexion
- $choix->connect();
- //on récupère les noms des champs
- $choix->requete($requete);
- $choix->deconnect();
- $i = 0;
- while($row = mysql_fetch_field($choix->requete)){
- //on affiche le nom des Champs
- $i++;
- echo "<td>$row->name</td>";
- $pipo[$i] = "$row->name";
- }
- echo "</tr>";
- //on passe à l'affichage des données en elle meme
- //on commence la boucle pour afficher tout
- while($row2 = mysql_fetch_assoc($choix->requete)){
- echo "<tr>";
- //on affiche le résultat de la requete en respectant l'ordre
- foreach($pipo as $pipo2){
- echo "<td>$row2[$pipo2] </td>";
- }
- echo "</tr>";
- }
- ?>
/*----------------------------------------------Fichier : connexion.php------------------------------------*/
<?php $identifiant = "";
$password = "";
$Adresse = "";
$NomTable = "";
?>
/*----------------------------------------------Fichier : SGBD.class.php------------------------------------*/
<?php
// Création de la classe mère
class SGBD
{
// Attribut du login du SGBD
var $SGBD_login;
// Attribut du password du SGBD
var $SGBD_password;
// Attribut de l'hôte du SGBD
var $SGBD_host;
// Attribut du nom de la base de données
var $SGBD_base;
// Attribut de connection
var $connect;
// Attribut de requête
var $requete;
// Définition du constructeur
function SGBD ($login, $password, $host, $base){
// Vérification des variables
if (empty ($login) || empty ($host) || empty ($base)){
// Affichage du message d'erreur
echo "<b>Erreur :</b> Une ou plusieurs variable(s) n'ont pas été renseigné.";
exit;
}
else {
// Initialisation des attributs
$this->SGBD_login = $login;
$this->SGBD_password = $password;
$this->SGBD_host = $host;
$this->SGBD_base = $base;
}
}
}//fin de la classe
?>
/*-----------------------------------------------Fichier : MySQL.SGBD.class.php-------------------------*/
<?php
// Création de la classe fille
class MySQL extends SGBD
{
// Méthode connect()
function connect ()
{
// Connection à MySQL
$connect = @mysql_connect ($this->SGBD_host, $this->SGBD_login, $this->SGBD_password);
// Vérification de la connection
if (!$connect){
// Affichage du message d'erreur
echo "<b>Erreur :</b> Connection à MySQL impossible";
exit;
}
// Connection à la base de données
if (!@mysql_select_db ($this->SGBD_base, $connect)){
// Affichage du message d'erreur
echo "<b>Erreur :</b> Connection à la base de données impossible";
exit;
}
// Initialisation de l'attribut de connection
$this->connect = $connect;
}
// Méthode requete()
function requete ($requete){
// Exécution de la requête
$result = mysql_query ($requete, $this->connect);
// Vérification de la requête
if (!$result){
// Affichage du message d'erreur
echo "<b>Erreur :</b> Impossible d'effectuer la requête au serveur";
exit;
}
else {
// Initalisation de l'attribut de requête
$this->requete = $result;
}
}
// Méthode deconnect()
function deconnect (){
// Déconnection de la base de données
mysql_close ($this->connect);
}
}//fin de la classe
?>
/*----------------------------------CODE à METTRE dans la page----------------------------------------*/
<table width="100%" border="1" cellspacing="1" cellpadding="1" name="head">
<tr>
<?php
/*--------------------declaration--------------------*/
// Inclusion de la classe mère
include ("./Commun/SGBD/SGBD.class.php");
/* Initialisation de la variable du SGBD correspondant */
$SQL = "MySQL";
// Inclusion de la classe fille du SGBD correspondant
include ("./Commun/SGBD/".$SQL.".SGBD.class.php");
//Inclusion des paramêtres de connexion
include ("./Commun/connexion.php");
//initialisation des objets
$choix = new $SQL($identifiant,$password,$Adresse,$NomTable);
$choix2 = new $SQL($identifiant,$password,$Adresse,$NomTable);
$requete = "select $NomChamp from `$nom_table`";
/*---------------------Fin de déclaration----------------------*/
/*---------------------Debut script-----------------------------*/
//connexion
$choix->connect();
//on récupère les noms des champs
$choix->requete($requete);
$choix->deconnect();
$i = 0;
while($row = mysql_fetch_field($choix->requete)){
//on affiche le nom des Champs
$i++;
echo "<td>$row->name</td>";
$pipo[$i] = "$row->name";
}
echo "</tr>";
//on passe à l'affichage des données en elle meme
//on commence la boucle pour afficher tout
while($row2 = mysql_fetch_assoc($choix->requete)){
echo "<tr>";
//on affiche le résultat de la requete en respectant l'ordre
foreach($pipo as $pipo2){
echo "<td>$row2[$pipo2] </td>";
}
echo "</tr>";
}
?>
Conclusion
J'ai utilisé un code objet que j'ai trouvé sur ce site, j'en profite pour remercier son créateur malheuresement je me souvient plus du nom :( mais son code m'est tres utiles (les deux classes objets pour le MySQL) si ya un probleme à ce niveau me le signaler je supprimerai les classes.... J' aurai bien mis un lien mais je sais plus ou j'ai pris ca si quelqu'un reconnais je mettrai ca à jour.
Ne pas oublier de changer $nom_table par le nom de la table à afficher et de paramettrer pour sa propre base de donnée le : include ("./Commun/connexion.php"); sinon ca va pas marcher.
si vous soumettez une bonne amelioration le code sera revu peu apres.
Historique
- 29 septembre 2004 15:24:27 :
- orthographe...
- 30 septembre 2004 10:07:28 :
- J'ai rendu accessible pour toutes les requetespu seulement pour tout afficher. je n'utilise plu "show columns"
- 30 septembre 2004 16:33:40 :
- pus de show columns mais on peut faire toutes les requetes de visualisations
- 25 mai 2007 17:35:25 :
- Correction des commentaires
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Affichage...suite de tableau [ par Brikse ]
Hello tout le monde.... Je rencontre un problème au niveau de l'affichage dans mon code PHP. Alors, le truc est simple.J'ai un code qui insère une ima
Affichage dans un tableau d'une donnée contenu dans une base de donnée [ par psaikopat ]
}:) :P PsAiKoPaT :P }:)Slut tout le monde j'ai un petit problème de PHP et HTMLJ'ai une base de donnée qui contient des fichiers en .pdf, et j'ai une
Affichage d'un tableau à partir d'un fichier texte [ par kdos ]
Bonjour,Soit le fichier rubrique.txt du type: données1|données2|données3|données4|et le script suivant en gerant l'affichage :<
Mise à jour d'un tableau de plusieurs enregistrements [ par Soul EX ]
Bonjour à tous Alors j'ai un problème que j'essaie de résoudre depuis 3 jours maintenant à l'aide de google, et à force de n
récupération de contenu d'un tableau [ par SA7BOOCH ]
Bonjour à tous,Je suis débutant en php j'ai construit une class "comparateur" l'un de ses class me renvoi un tableu function info
Pb d’affichage dynamique résultats requête, tableau HTML [ par fredericmaill ]
Pb d’affichage dynamique résultats requête, tableau HTML Bonjour, j’aimerais s’il vous plais de l’aide pour mon s
Affichage tableau [ par VivoBaggio ]
Salut. Voilà quand je mettais mes infos dans mon tableau en html. Ca donnait ça :<center><table class="RensRep" border=1><tr&
Tableau d'éléments "class" ?? [ par x-smurf ]
Bonjour à tous, je cherche à faire un tableau d'élements "class" pour la gestion d'utilisateurs.Exemple=====class unknownUser extends abstractUser { .
Affichage résultat dans tableau [ par flopad ]
Bonjour tout le monde!!J'ai un tableau qui est complété par des données provenant d'une bdd.Je voudrais afficher dans certaines colonnes, seulement le
tableau adaptatif selon db [ par Dav_c ]
Bonjour j'utilise un tableau paramétrable pour afficher des photos venant d'une db mais lorsque qu'une photo est supprimer le tableau laisse un trou a
|
Derniers Blogs
QUELQUES TRUCS INTéRESSANTS (05/09/2010)QUELQUES TRUCS INTéRESSANTS (05/09/2010) par coq
Cette fois-ci : .NET Debug / Performance Sécurité SQL Server .NET Determining if a type is defined in the .NET Framework (blog de Scott Dorman) Ha tiens, je n'avais jamais vraiment pensé à utiliser le jeton de clé publique...
Cliquez pour lire la suite de l'article par coq ENUMERABLECOLLECTIONENUMERABLECOLLECTION par Matthieu MEZIL
Prenons le scénario suivant. On utilise MVVM. On a les deux classes suivantes dans le model : public class Child { } public class Parent { private ObservableCollection < Child > _children; public ObservableCollection < Child > Children { get {...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [HS] CHROME 6 + MOI = COUP DE GUEULE ![HS] CHROME 6 + MOI = COUP DE GUEULE ! par JeremyJeanson
Attention, le poste qui suit n'est pas la complainte d'une personne : Qui n'aime pas Chrome. D'un anti Google. D'un développeur qui a un poil énorme dans la main. Ceux qui me fréquentent savent que je change de navigateur favori tous les 2 ou 3 mois afin ...
Cliquez pour lire la suite de l'article par JeremyJeanson [WP7] UTILISER UN WRAPPANEL DANS UNE APPLICATION WINDOWS PHONE 7[WP7] UTILISER UN WRAPPANEL DANS UNE APPLICATION WINDOWS PHONE 7 par Audrey
Lors de la réalisation de ma 2ème application Windows Phone 7, j'ai souhaité utiliser un WrapPanel pour afficher plusieurs photos. Mais le contrôle WrapPanel ne fait pas parti de la liste des contrôles inclus dans le SDK de la version Beta des outils pour...
Cliquez pour lire la suite de l'article par Audrey [WP7] BESOIN D'AVOIR DES DONNéES EN CACHE[WP7] BESOIN D'AVOIR DES DONNéES EN CACHE par Nicolas
Les développeurs ASP.NET ont l'habitude de mettre des données en cache pour éviter de requêter a chaque fois la base de données. Et il est toujours utilie de penser que vos utilisateurs mobiles n'ont pas troujours une super connexion 3G/WIFI et un for...
Cliquez pour lire la suite de l'article par Nicolas
Logiciels
WebLogAndPass (1.0.0)WEBLOGANDPASS (1.0.0)WebLogAndPass est un logiciel permettant de mémoriser vos sites préférés et pour chacun d'entre-e... Cliquez pour télécharger WebLogAndPass uTorrent (2.0.4)UTORRENT (2.0.4)C'est un client BitTorrent très puissant et très performant. Comme son nom l'indique, uTorrent (m... Cliquez pour télécharger uTorrent Bureau de Gestion - ERP Devis Facturation (2.02)BUREAU DE GESTION - ERP DEVIS FACTURATION (2.02)- Version gratuite du 10/06/2010
Le Bureau de Gestion est un logiciel dédié à la gestion de l'en... Cliquez pour télécharger Bureau de Gestion - ERP Devis Facturation 4Videosoft Transfert iPod Mac (3.2.08)4VIDEOSOFT TRANSFERT IPOD MAC (3.2.08)4Videosoft Transfert iPod-Mac caractérise principalement à transférer les fichiers iPod vers Mac.... Cliquez pour télécharger 4Videosoft Transfert iPod Mac 4Videosoft HD Convertisseur (3.3.08)4VIDEOSOFT HD CONVERTISSEUR (3.3.08)Etant le meilleur HD Vidéo Convertisseur, 4Videosoft HD Convertisseur, vous pouvez regarder la vi... Cliquez pour télécharger 4Videosoft HD Convertisseur
|