Dans votre projet PHP, vous allez avoir besoin d'enregistrer et récupérer des informations dans votre base de données. Pour cela, il faut créer une base de données qui va contenir les tables d'enregistrements de vos données.
Pour votre projet vous allez avoir besoin de connaître les requête SQL suivantes
Pour tester vos requête SQL avant de les rendre dynamique avec PHP vous pouvez utiliser l'outil SQL de phpMyAdmin pour écrire et exécuter des requêtes.
Il existe trois façons de faire un INSERT dans une table. Ici nous allons voir uniquement la façon la mieux adaptée à votre projet et niveau d'expérience. Nous allons insérer une ligne dans la table souhaitée en ne spécifiant que les colonnes souhaitées. Nous allons par exemple ne pas indiquer la colonne qui comporte la clé primaire qui a un auto_increment et qui va se gérer toute seule.
Exemple :
INSERT INTO nom_table (nom_colonne_1, nom_colonne_2, ...
VALUES ('valeur colonne_1', 'valeur colonne_2', ...)
Explication :
Après avoir indiqué le nom de la table dans laquelle vous souhaitez ajouter une ligne, vous allez indiquer, entre parenthèse, le nom de chaque colonne dans laquelle vous allez ajouter une informations.
Ensuite vous allez ajouter, entre des parenthèses, les valeurs que vous avez récupéré à l'aide de PHP avec l'instruction SQL « VALUES ». Attention la première valeur va être enregistrée dans le nom de la première colonne, la deuxième valeur dans le nom de la deuxième colonne etc.
Dans notre projet votre requête aura sans doute la forme suivante :
INSERT INTO article (articleTitre, articleTexte, articleDate, articleNomImage, articleTheme)
VALUES ('$titre', '$texte', '$date', '$imageName', $theme)
Remarques :
Il faut encadrer les valeurs avec des simples cotes sauf si la colonne récupère un format de type INT (nombre). Dans ce cas on ne met pas de simples cotes.
Pour en savoir plus sur la requête INSERT : https://sql.sh/cours/insert-into
C'est la plus simple des requêtes et la plus utilisée. Elle est utilisée pour récupérer de l'information de notre base de données. Votre méthode PHP de connexion à la base de données va récupérer les informations soit dans un tableau (array) soit dans un objet en fonction de votre demande. Il faudra alors ensuite parcourir votre tableau ou objet de résultats.
Exemples de requêtes à utiliser dans votre projet :$sql = " SELECT * FROM article ";
Cette requête va récupérer toutes les valeurs de la table article, c'est à dire tous les articles. Le '*' après le SELECT indique toutes les colonnes de la table.
En français on pourrait traduire la requête par :
Récupère (SELECT) les informations des colonnes suivantes (ici toutes les colonnes '*') de la table (FROM) article.
Si vous souhaitez ne récupérer que quelques colonnes alors il faudra les indiquer après le SELECT en les séparant par des virgules :
$sql = " SELECT articleTitre, articleTexte, articleDate FROM article ";
Pour ne récupérer que certains enregistrements voir un seul vous allez ajouter à votre requête SELECT la commande WHERE qui va sélectionner une liste d'enregistrement que vous aurez choisi.
Exemples de fonctions WHERE :Récupérer un article
$sql = "SELECT * FROM article WHERE articleId = '$articleId' " ;
Pour tout savoir sur cette fonction WHERE c'est ici : https://sql.sh/cours/where
Cette commande à ajouter à la fin de votre requête SQL vous permet de classer vos résultats par ordre ascendant ou descendant (croissant, décroissant, alphabétique). La force de cette commande est que vous pouvez faire un tri sur plusieurs colonnes. Par exemple trier la liste des utilisateurs sur les noms de famille en utilisant l'ordre alphabétique. Puis si il y a plusieurs noms de familles identiques, on va trier par ordre alphabétique sur les prénoms.
Pour tout savoir sur la commande ORDER BY : https://sql.sh/cours/order-by
Pour tout savoir sur la fonction UPDATE : https://sql.sh/cours/update
Pour tout savoir sur la fonction DELETE : https://sql.sh/cours/delete
INNER JOIN
Pour tout savoir sur la jonction INNER JOIN : https://sql.sh/cours/jointures/inner-join
Si vous souhaitez découvrir tous les types de jonctions et leurs fonctionnement voici un lien qui explique tout.
Pour tout savoir sur l'ensemble des jonctions de tables :
https://sql.sh/cours/jointures