Voici un exemple de formulaire html et le script PHP associé.
Le formulaire : formsql.html
<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> <head> </head> <body> Lancement d'un formulaire de requête SQL via un serveur HTTP Utilise une base Demo <br> Entrez une chaîne sql valide - Exemple : <form action="resultsql.php" METHOD=post> // Ici le script qui sera exécuté <textarea cols="50" rows="5" name="c_SQL">Select * from phonebook ;</textarea></p> <br> <INPUT TYPE="submit" VALUE="Search!"> </form> </body> </html>
Le script associé : Page resultsql.php
'Solution qui permet de s'affranchir du nombre de champs.
<?
/* Test de la connexion à la base */
if($c_SQL != "")
{
echo $c_SQL ;
$conn = pg_Connect("localhost","5432","","","demo");
if (! $conn)
{
echo "Erreur de connection à la base. \n";
exit;
}
/* teste le résultat de la requête */
$result = pg_Exec($conn, $c_SQL);
if (! $result)
{
echo "Erreur d'accès aux tables. \n";
exit;
}
/* teste le nombre de tuples retournées */
$numR = pg_NumRows ($result);
if ($numR == 0)
{
echo "Aucun enregistrement retourné. \n";
exit;
}
/* Compte le nombre de champs */
$numF = pg_Numfields($result);
/* mise en forme du résultat sous forme tabulaire */
/* lignes (tuples), colonnes (champ) */
echo "<table border = 1>";
$i = 0;
while ($i < $numR) {
echo "<tr>";
$j = 0;
while ($j < $numF) {
$nc=pg_result($result,$i,$j);
echo "<td>"; echo $nc; echo "</td>"; $j++;
}
echo "</tr> \n";
$i++;
}
echo "</table> \n";
/* Libère la mémoire */
pg_FreeResult;
/* Ferme la connection */
pg_Close($conn);
}
?>