Des exemples simples de PHP + Oracle

On trouvera ici des exemples simples d'utilisation des extensions Oracle de PHP, et plus particulièrement des fonctions OCI*.

Connexion

Un exemple de formulaire HTML de test de connexion Oracle / php qui appelle test_connect1.php et test_connect2.php

Cet exemple fonctionne avec ou sans résolution de nom de base, dans ce dernier cas ça évite de configurer le client Oracle Net qui pourrait vous donner du fil à retordre ;-) )

Affichage d'une table

SELECT générique qui affiche une table quelconque passée en paramètre dans un tableau HTML

<?php
// select_generique.php
// parametres d'entree :
// $user : le nom du compte oracle ou l'on se connecte
// $mdp : son mot de passe
// $bd : le nom du serveur de données (la base) Oracle
// $table : le nom de la table à afficher
//
// usage : http://mon_serveur/rep_php/select_generique.php
// recuperation des parametres
$user = $_GET['user'];
$mdp= $_GET['mdp'];
$bd = $_GET['base'];
$table = $_GET['table'];
if (($user=='') or ($mdp=='') or ($base =='') or ($table==''))
{ print "Vous avez oublié un parmètre lors de l'appel !!!<BR>";
print "user, mot de passe, nom de base et nom de table sont nécessaires.<BR>";
print "exemple correct: http://mon_serveur/rep_php/select_generique.php?";
print "user=scott&mdp=tiger&base=test&table=emp";
exit(0);
}
// connexion
$conn = ocilogon($user,$mdp,$base);
// préparation du Select
$sql1 = "SELECT * FROM $table ";
$ordre = OCIParse ($conn, $sql1);
OCIExecute ($ordre);
$ncols = OCINumCols($ordre);
// affiche les lignes tant qu'il y en a
// et les colonnes une par une
print "<TABLE BORDER=1> ";
while (OCIFetchInto ($ordre, $ligne, OCI_NUM)) {
print "<TR> ";
for ( $i=0;$i < $ncols; $i++) {
print "<TD> $ligne[$i] </TD>" ;
}
print "</TR> ";
}// libere les ressources
OCIFreeCursor ($ordre);
OCILogoff($conn);
?>

ça donne ça :

on peut mettre un peu de style (c'est la .class ! ;-)
on modifie 1 ligne de code : on ajoute en entête la référence à la feuille de style gris.css,

de la manière suivante entre les balises <HEAD> et </HEAD>

<link href="../gris.css" rel="stylesheet" type="text/css">

et on utilise 3 classes pour le tableau et une pour le titre, le code devient ça :
et à l'écran cé boucou + joli :

 

D'autres exemples de scripts PHP4 et Oracle, et PHP5 et Oracle

Style PHP 4

Style PHP 5

 

Attention, le COMMIT est automatique en cas de succès (OCI_COMMIT_ON_SUCCESS par défaut). Si vous souhaitez commiter manuellement, mettez OCI_DEFAULT comme mode d'exécution : OCIExecute ($ordre, OCI_DEFAULT) et quand vous le désirez validez la transaction par OCI_COMMIT()

Pour des exemples plus sophistiqués :
consultation, formulaire de création et de mise à jour, voir mon interface Ze cow, by DD

 


(c) 2002- 2006 Didier Deléglise


modifié
le 20/11/2006

Ecrire a DD
ecris
moi


les forums techniques Oracle

mon BLOG Oracle,
en Francais
connaitre DD
l'autre vie
de DD

mon CV

trucs
et astuces

JOBs Oracle
du jour
Homepage "Tout sur Oracle"
Mon site :
Tout sur Oracle (et le web)
Copyright (C) 2002
Utilisation de ces documents