You are on page 1of 3

Accs aux bases de donnes

par pages WEB

Navigateur http

Serveur http

1. Prsentation gnrale:

Station de travail

Serveur

1.1 Principe :

Base de
donnes

Quelque soit la base de donnes (Excel, Access,


MySql), on peut y accder distance via une page
HTML pourvu que le serveur aie un service http.

Rseau

1.2 Diffrentes possibilits :

Page serveur
Page ASPX

Servlet

Page ASP

Page PHP

Page

Page CGI

C#
Java

ADO.NET
MySql

MySql

ADO.NET
SQLCLIENT

SqlSe
rver

ADO.NET
OLEDB

Access
Excel
Oracle

ADO.NET
ODBC

Access

Javascript

JDBC

Toute
base de
donne

VbScript

ADODB
ODBC

Toute
base de
donne

PHP

Fonctions
ODBC

Toute
base de
donne

C/C++

Fonctions
MySql

Base
MySql

Perl

Lan
gage

Fonctions
MySql

Fonctions
ODBC

accs

Base
MySql

Toute
base de
donne

Base

2. ODBC (Open database connectivity) :


Prendre ladministrateur de sources de base de donnes
On associe une source de donnes (DSN), un nom logique une base de
donne quelle quelle soit (Access, Excel, dbase, MySql, etc)
Les diffrentes applications (C++, Asp, Php, Java) accderont via ODBC cette base de donnes.
Lide de base est de crer un moyen universel datteindre une base de donne quelle quelle soit afin de
pouvoir utiliser le langage SQL. Lditeur de la base de donne devra crire un pilote odbc qui sera accessible
lutilisateur dans le panneau de configuration : un DSN sera cre et un nom logique correspondra une
source de donne.

J:\JLP\Info\BaseDeDonnees\Cours\3_AccsBaseDonnes.doc

JLPascal

1/3

3. Les pages ASPX :


Application dveloppe avec VisualStudio.
La partie formulaire est faite graphiquement (du HTML est gnr).
La partie code est faite en C# (gnralement).
Possibilit daccder aux bases access, excel, Sql Server & oracle.

On ajoute en dbut de fichier :


using System.Data.OleDb;
On complte le code suivant dans la mthode attache au bouton :
private void Button1_Click(object sender, System.EventArgs e)
{
string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=G:/jlp/Livre2002.mdb";
OleDbConnection connexion = new OleDbConnection(strCon);
connexion .Open ();
string cmdText = "select * from livre Where auteur = '" +
Convert.ToString(TextBox1.Text)+ "'"; ;
OleDbCommand commande = new OleDbCommand(cmdText, connexion );
OleDbDataReader resultat = commande.ExecuteReader();
while (resultat.Read())
{
//
Response.Write ("<H5>"+resultat["auteur"]+"</H5>");
Label6.Text = Convert.ToString(resultat["titre"]);
Label7.Text = Convert.ToString(resultat["genre"]);
Label8.Text = Convert.ToString(resultat["prix"]);
}
commande.Dispose ();
resultat.Close();
connexion.Close();
}

J:\JLP\Info\BaseDeDonnees\Cours\3_AccsBaseDonnes.doc

JLPascal

2/3

4. Le langage Php
Logiciel freeware ddi principalement MySql mais
pouvant galement utiliser les ODBC.

Fichier Select_livre.htm
<html><body>
<h1>Slection des livres</h1>
Recherche des livres :<br>
<form Method="get" action="select_livre.php"
Auteur :
<input type=text size=20
name=auteur><br>
Prix limite : <INPUT type=text size=20 name=prix>
<input type=submit value=recherche>
</form></body></html>

Accs une base MySql :


<?php

Accs une base par ODBC :

Fichier Select_livre.php
<?php

$auteur = $_GET["auteur"];

$auteur = $_GET["auteur"];

$db = odbc_connect("livre2", "", "");


$db = mysql_pconnect("localhost", "root");
mysql_select_db("base_livre", $db) ;
$requete = "SELECT * FROM livre WHERE auteur $result = odbc_exec($db, "SELECT * FROM livre
WHERE auteur = '$auteur' AND prix < $prix");
= '$auteur' AND prix < $prix";
$result = mysql_query($requete);
$number = mysql_num_rows($result);
$i = 0;
echo "<h4> No Auteur Titre Genre prix </h4>" ;
while ($i<$number) {
$noliv = mysql_result($result,$i,"noliv");
$titre = mysql_result($result,$i,"titre");
$genre = mysql_result($result,$i,"genre");
$prix = mysql_result($result,$i,"prix");
echo "<h5>$noliv $titre $genre $prix </h5>";
$i++;
}
mysql_close();
?>

echo "<h4> No Auteur Titre Genre


prix
</h4> " ;
while ((odbc_fetch_row ($result))== true) {
$noliv = odbc_result($result,"noliv");
$titre = odbc_result($result,"titre");
$genre = odbc_result($result,"genre");
$prix = odbc_result($result,"prix");
echo "<h5>$noliv $titre $genre $prix </h5>";
}
odbc_close($db) ;
?>

Remarques :
On peut tester lexistence de cette variable avec le test suivant :
o if (isset ($$_GET["auteur"])) .
Pour excuter un fichier php sans passer par un formulaire (depuis une page HTML, depuis une autre
page php ou directement dans la barre URL, on excute la page en mode get :
o http://./select_livre.php?auteur=zola&prix=80

J:\JLP\Info\BaseDeDonnees\Cours\3_AccsBaseDonnes.doc

JLPascal

3/3