Tutorial PHP / MS Access – Manipuler les entrées de la table (2/4)

Cet article fait suite à  l’article sur l’installation d’une connexion odbc avec Access utilisable par PHP. Nous allons évoquer les différents aspects de la manipulation des données d’une table d’une base de données Access grâce à  PHP.

  • Insertion d’une ligne dans une table

Voilà  le script pour insérer une ligne dans sa table. On ne tient pas compte du champs id ici, car celui ci est auto-incrémenté. Notez que la syntaxe du SQL est différente de MySQL. On ne peut pas ajouter les données sans préciser les champs.

//Connection à  la base
$connection = odbc_connect("table","admin","") or die("Couldn't connect to datasource.");

//insertion de la ligne
$sql = "INSERT INTO [adresses] ( nom, prénom, adresse, email) SELECT 'Dupont', 'Rémy', '2 rue du Moulin', 'dupont@email.com';";

//exécution de la requête
odbc_exec($connection,$sql) or die("Couldn't execute statement.")

Une vérification dans Access nous montre que la ligne a bien été ajoutée :

Vérification dans Access

Vérification dans Access

  • Suppression d’une ligne dans la table

Dans le script suivant, nous supprimons la ligne contenant l’id 5. La sélection se fait sur le champs id puisque celui ci est la clef primaire, il est obligatoirement unique. Donc pas de confusion possible.

//connection à  la base
$connection = odbc_connect("table","admin","") or die("Ne peut pas se connecter à  la base.");

//suppression de la ligne
$id=5; //Définition de la variable. (Peut être externe.)
$sql = "DELETE * FROM [adresses] WHERE id=$id;";

//exécution de la requête
odbc_exec($connection,$sql) or die("Ne peut pas exécuter la requête.");
  • Modification d’une ligne de la table

Le script suivant modifie la ligne 5 (ici on passe le chiffre 5 en argument grâce à  la variable $id.

//connection
$connection = odbc_connect("table","admin","") or die("Couldn't connect to datasource.");

//modification
UPDATE adresses SET adresses.nom = 'Durand', adresses.prénom='Gérard', adresses.adresse='54 rue du pont', adresses.email='durand@email.com' WHERE id=5;";
odbc_exec($connection,$sql) or die("Ne peut pas exécuter la requête.");

Une vérification dans Access nous montre que la ligne à  bien été modifiée :

Vérification dans Access

Vérification dans Access

  • Affichage d’un enregistrement de la table

L’affichage d’un enregistrement est un petit peu plus complique qu’avec MySQL.
La fonction odbc_fetch_into() écrit une ligne du résultat d’une requête dans un tableau PHP. En cas de succès elle retourne le nombre de colonnes de la table de réponse. Sinon elle retourne « false ».
Le tableau dans lequel le contenu de la ligne de réponse est écrit doit être passé à  la fonction par adrese. C’est à  dire avec l’opérateur & .
Dans le script suivant, on choisi d’afficher tous les champs sauf id:

//connection
$connection = odbc_connect("table","admin","") or die("Couldn't connect to datasource.");

//requête
$sql = "SELECT adresses.nom, adresses.prénom, adresses.adresse, adresses.email FROM [adresses];";
//exécution
$res=odbc_exec($connection,$sql) or die("Ne peut pas exécuter la requête.");

//affichage
while (odbc_fetch_into($res,&$tableau)) {foreach ($tableau as $element) {echo "$element
";}}

A vous ensuite de présenter l’affichage

Article suivant : Rechercher dans une table Access