Formations à l'informatique et à l'électronique

Auteur : SD
Créé le : 12-11-2014

Accéder à une base Access (.mdb) en PHP

L'intérêt d'accéder à une base Access en PHP est de pouvoir utiliser un simple navigateur Web depuis n'importe quel poste sans avoir besoin d'installer Access de partout et donc d'acheter une licence pour chaque poste.

Sommaire

Ce qu'il vous faut

Nous utiliserons un poste Windows 7 Professionnel x64 pour cet article.

Installation de IIS

Ouvrir le panneau de configuration puis cliquer sur "Programmes" puis sur "Activer ou désactiver des fonctionnalités Windows".

Capture d'écran activer ou desactiver fonctionnalites Windows
Capture d'écran activation IIS et CGI


Dans la liste des fonctionnalités, cocher "Services Internet (IIS)".

Déployer l'arborescence et cocher "CGI" afin que PHP puisse fonctionner.

Tester le fonctionnement de IIS

Depuis le poste ou est installé IIS, ouvrir l'adresse "http://localhost" dans un navigateur. Vous devez obtenir l'affichage ci-dessous. Depuis un autre poste, remplacer localhost par l'adresse IP du poste où est installé IIS.

Pour rappel, "localhost" est équivalent à l'adresse IP 127.0.0.1 qui veut dire sur n'importe quel ordinateur "soi-même".

Capture d'écran page par défaut IIS dans firefox

Par défaut le serveur WEB IIS affiche la page "iisstart.html" située dans le dossier "c:\inetpub\wwwroot" (voir capture d'écran ci-dessous).

Capture d'écran dossier wwwroot par défaut IIS

Installation de PHP pour Windows

Installer PHP pour Windows (php-5.3.17-nts-Win32-VC9-x86.msi) avec les options par défaut, à la question "Select the Web Server you wish to setup", cocher "IIS FastCGI".

Capture d'écran installation de PHP windows

Tester le fonctionnement de PHP

Créer un fichier "index.php" dans le dossier par défaut de IIS ("c:\inetpub\wwwroot") contenant le code PHP ci-dessous :

phpinfo();

Depuis le poste ou est installé IIS, ouvrir l'adresse "http://localhost/index.php" dans un navigateur. Vous devez obtenir l'affichage ci-dessous.

Capture d'écran phpinfo() IIS

Configurer une source de données ODBC

Ouvrir le panneau de configuration, Sélectionner afficher par petites icônes

Capture d'écran panneau de configuration Windows 7

Cliquer sur "Outils d'administration".

Capture d'écran tous les panneaux de configuration Windows 7

Si vous avez un système 32 bits, double cliquer sur "Sources de données (ODBC)" et cliquer ici pour passer à la suite.

Si vous avez un système 64 bits, faire un clic droit sur "Sources de données (ODBC)" et cliquer sur "Propriétés" comme le montre la capture d'écran ci-dessous.

Capture d'écran outils d'administration Windows 7

Changer le chemin vers le fichier "odbcad32.exe" de %windir%\system32\ vers %windir%\sysWOW64\ puis cliquer sur "Ok".

Capture d'écran chemin vers odbcad32.exe pour Windows 64 bits

Double cliquer sur "Sources de données (ODBC)"

Capture d'écran

Cliquer sur l'onglet "Source de données système" puis sur "Ajouter"

Capture d'écran Sources de données (ODBC)

Sélectionner le type de source de données, ici : Microsoft Access Driver (*.mdb)

Capture d'écran Sources de données (ODBC)

Donner un nom à la source de données. C'est ce nom qu'il faudra utiliser dans votre code PHP.

Cliquer ensuite sur "Sélectionner".

Capture d'écran Sources de données (ODBC)

Sélectionner votre fichier .mdb (base de données Microsoft Access).

Capture d'écran Sources de données (ODBC)

Cliquer sur "OK" pour valider.

Capture d'écran Sources de données (ODBC)

Cliquer sur "OK" pour valider et fermer le gestionnaire de sources ODBC.

Capture d'écran Sources de données (ODBC)

La configuration de la source de données ODBC est terminée.

Test du fonctionnement

Le test a été réalisé avec une base de données "Sommets.mdb" contenant une table comme le montre la capture d'écran ci-dessous :

Copie d'écran de la table Sommets

Exemple de code PHP pour exécuter une requête sur notre base de données Access :

<?php
	$conn=odbc_connect('ODBC_Sommets','','');
	if (!$conn) {exit("Echec de connection : " . $conn);}

	$sql="SELECT * FROM Sommets";
	$rs=odbc_exec($conn,$sql);
	if (!$rs) {exit("Erreur dans la requête SQL");}

	$ListeSommets = "";

	while (odbc_fetch_row($rs)) {
		$ListeSommets = $ListeSommets . '<tr><td>' . odbc_result($rs, "Massif") . '</td><td>';
		$ListeSommets = $ListeSommets . odbc_result($rs, "Nom") . '</td><td>';
		$ListeSommets = $ListeSommets . odbc_result($rs, "Altitude") . '</td></tr>' ;
	}

	odbc_close($conn);
?>

<!DOCTYPE html>
<html lang="fr">
	<head> 
		<meta charset="utf-8" /> 
		<title>Les sommets en PHP !</title> 
	</head>
	<body>
		<h1>Tableau des sommets</h1>
		<table border=1 cellspacing=0>
			<tr><td>Massif</td><td>Nom</td><td>Altitude (m)</td></tr>
			<?php echo $ListeSommets; ?>
		</table>
	</body>
</html> 

Bien entendu, il est possible d'exécuter des requêtes d'ajout, de suppression, de mise à jour...

Résultat obtenue dans le navigateur :

Copie d'écran du résultat du script php : affichage de la table sommet

Articles connexes

Webographie

http://windows.php.net/download

http://php.net/manual/fr/install.windows.iis7.php


Vous avez apprécié cet article ? Partagez le !

Article connexe : Premiers pas en PHP