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.

CONTACT

Message envoyé

bottom of page