top of page

CODE SQL

En PHP, on a la possibilité d'utiliser du code SQL.

 

Imaginons que l'on ait un formulaire dans lequel l'utilisateur rentre un nom, un prénom, et un jour/mois/année. On souhaite que les données rentrées par l'utilisateur soit rentrées directement dans une base de données nommée acteur.db.

 

​<?php

    $db = new SQLite3("acteur.db");

    $requete = "INSERT INTO acteurs VALUES(" . $_GET["nom"] . "\",\"" . $_GET["prenom"] . "\",\"" . $_GET["jour"] . "/" . $_GET["mois"] . "/" . $_GET["annee"] . "\")";

    echo $requete; /* Pour afficher et vérifier la requête. */

    $db ->exec($requete); /* Pour exécuter la requête. */

    $db ->close();

?>

J'ai mis en bleu le contenu de la requête (la ligne de code SQL). En PHP, le point sert à la concaténation.

 

Le symbole \, à ne pas confondre avec /, sert à bloquer le symbole " comme ça l'ordinateur ne confond pas les guillemets de la requête SQL avec les guillemets qui servent à délimiter les éléments que l'ordinateur doit concaténer.

Évidement, il faut avant préalablement créer la table acteurs dans la base de donnée acteur.db avec l'instruction SQL CREATE TABLE.

Ensuite, on peut aussi afficher les données d'une table SQL dans un tableau HTML.

<h1>Tableau des acteurs</h1>

<table>

    <tr><th>Nom</th><th>Pr&eacute;nom</th><th>Date de naissance</th></tr>

<?php

    $db = new SQLite3("acteur.db");

    $results = $db->query("SELECT * FROM acteurs");

    while ($ligne = $results->fetchArray()) {

        echo "<tr>";

        echo "<td>" . $ligne[0] . "</td>";

        echo "<td>" . $ligne[1] . "</td>";

        echo "<td>" . $ligne[2] . "</td>";

        echo "</tr>\n";

   }

    $db ->close();

?>

</table>

On rentre les données de chaque variable (correspondant à un rang : $ligne[NumeroDuRang]) de la table acteurs, dans les cellules (<td>) du tableau HTML.

À savoir : la balise th permet de mettre le nom/entête de la colonne du tableau.

On peut aussi remplir un tableau json, avec des données d'une base de données.

['Choix', 'Effectif'],         

<?php          

    $db = new SQLite3('enquete.db');            

    $results = $db->query('SELECT Choix, COUNT(*) FROM enquete WHERE Choix != "NA" GROUP BY Choix');            

    while ($row = $results->fetchArray())              

    echo "['" . $row[0] . "'," . $row[1] . "],\n";        

?>       

]);

On sélectionne les données de la variable choix et on compte le nombre de données (effectif). On rentre tout cela dans un tableau json.

Cela est très utile pour faire des graphiques à partir de base de données.

On utilise un code JavaScript que l'on peut trouver dans GoogleCharts (liste de graphiques avec leur code JavaScript).

On peut aussi trouver des codes JavaScript de graphiques sur HighCharts.

bottom of page