Easy-Micro


ESPACEMEMBRE PHP-MySQL
Afficher Access

Afficher une table Access

Afficher des données provenant d'une base de données ACCESS.

Création du DSN (Data Souce Name) pour Access
Pour pouvoir utiliser ACCESS comme SGBD avec un autre langage, il faut créer un DSN : Menu Démarrer > Paramètres > Panneau de configuration > Outils d'administration > Source de données(ODBC) > Source de données système > Ajouter > Microsoft Access Driver > sélectionnez votre base de données, nommez la et validez.

Windows Seven
Pas de sources de données ODBC par défaut sous Windows Seven! Vous devez l'éxécutez directement dans l'Explorateur Windows de Seven depuis : C: / Windows / SysWOW64 / odbcad32.exe

Utiliser ODBC Manager (facultatif)
Sinon, pour pouvoir exporter votre ODBC sur d'autre système, après avoir installé le DSN, utiliser le logiciel "DTM ODBC Manager" : Pour l'utiliser, aller dans User DSN, sélectionner la source puis exporter le fichier dsi. Attention, le chemin doit être identique pour tous les utilisateurs. ODBC Manager doit aussi être utilisé pour récupérer le fichier dsi (par le bouton Importer).

On utilise des fonctions PHP prédéfinis :
1 - Connexion à la base : odbc_connect("nom_de_la_base", "login", "password")
2 - Requête SQL : odbc_exec(odbc_connect(),requete)
3 - Affichage des résultats : odbc_fetch_array(résultat_de_requete)
Note: odbc_fetch_array(résultat_de_requete) n'accepte que des noms de colonnes (et pas d'indice).
Afficher la table "Clients" de la base "Comptoir" dans une liste à puce
Est utilisé ici, la base de donnée "Comptoir.mdb" qui contient les tables "Clients", "Fournisseurs", "Produits" ou "Catégories". Pour réaliser les codes proposés, vous pouvez utiliser, soit un éditeur de texte comme le bloc-note, NotePad2 ou Pspad, soit un éditeur de site web.

Attention: "comptoir" est ci-dessous le nom saisie dans l'Administrateur de sources de données ODBC (onglet Utilisateur)

<?php
// "comptoir" est le nom saisie dans l'Administrateur de sources de données ODBC (onglet Utilisateur)
$connexion = odbc_connect("comptoir","root","") or die("erreur de connexion au serveur");
$requete = "SELECT * FROM Clients"; // ou tables "Fournisseurs" ou "Produits" ou "Catégories"

// Exécution de la requête (comme mysql_query)
$resultat = odbc_exec($connexion,$requete);
?>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=latin-1" />
<title>Affichage base ACCESS</title>
</head>
<body>

<ul>
<?php
// Note: odbc_fetch_array($resultat) n'accepte que des noms de colonnes (et pas d'indice)
while ($ligne = odbc_fetch_array($resultat)) {
echo "<li>".$ligne['Contact']."</li>";
}
echo "</ul>";

// coupe la connexion (comme mysql_close - facultatif)
odbc_close($connexion);
?>

</body>
</html>

Autre fonctions utiles:
odbc_fetch_row($resultat) identique à odbc_fetch_aray($resultat).
odbc_field_name($resultat,$i) - Attention, le premier indice d'une table Access commence à 1.
odbc_num_fields($resultat) donne le nombre d'enregistrement.

Exemple qui affiche le contenu de n'importe quelle table de la base Comptoir :
<?php
// "comptoir" est le nom saisie dans l'Administrateur de sources de données ODBC (onglet Utilisateur)
$connexion = odbc_connect("comptoir","root","") or die("erreur de connexion au serveur");
$requete = "SELECT * FROM Clients"; // ou tables "Fournisseurs" ou "Produits" ou "Catégories"

// Exécution de la requête (comme mysql_query)
$resultat = odbc_exec($connexion,$requete);
?>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=latin-1" />
<title>Affichage base ACCESS</title>
</head>
<body>

<table border="1" width="95%" align="center" cellpadding="3">
<tr style="background-color:#ffffcc;">
<?php
// Affichage des en-têtes de collones
for ($i = 1; $i <= odbc_num_fields($resultat); $i++) {
echo "<th>".odbc_field_name($resultat,$i)."</th>";
} ?>
</tr>
<?php
// Affichage du contenu de la table
while($ligne = odbc_fetch_array($resultat)) {
echo "<tr>";
for ($i = 1; $i <= odbc_num_fields($resultat); $i++) {
echo "<td>".$ligne[odbc_field_name($resultat,$i)]."</td>"; } // fin du for
echo "</tr>";
} // fin du while
?>
</table>
</body>
</html>

L'exemple ci-dessus a été réalisé le 30 septembre 2010 avec messieurs Jacques C. et Jean Emmanuel H.


Suivez les aventures des skippers aquitains sur EasyVoile.com
Flux RSS Easy-Micro - Abonnez-vous Easy-Micro [ François Bisch ]
Dimanche 15 septembre 2019 - Semaine 37 - Saint Roland (Demain: Sainte Edith)
Aujourd'hui, c'est l'anniversaire de Tommy Lee Jones (1946-73 ans), acteur et réalisateur américain (Le Fugitif, Entre Ciel et Terre, Men in Black...). Autre 15 septembre: 1997 - Enregistrement du nom de domaine "google.com".
Haut de page Easy-Micro