Accueil
 COURS INFORMATIQUE
 Cours Algorithmique
 Cours ASP
 Cours CSS
 Cours HTML
 Cours PHP / MySQL
 Cours Réseaux
 Cours SQL
 Cours Visual Basic
 ARTICLES
  Conception de sites
  Droit & Internet
  e-commerce
  Société
  Strategies du web
  Technologies Web
  Marketing Web
 LIVRES
  ASP/ASP.Net
  C/C++/C#
  Conception de sites
  DHTML/CSS
  Gestion de Projet
  HTML/Internet
  Java/JSP/J2EE
  JavaScript/VbScript
  Juridique
  Marketing/Stratégie
  PHP/Linux/Unix
  Réseaux
  XML/XHTML/XSL
 NETALYA RECOMMANDE
Reussir un projet de site web
Cours PHP-MySQL N°9 : autres requêtes sur les bases de données
Auteur : Frédéric Jacquenod
Adaptation : Christophe Magdelaine

Infinite Menus, Copyright 2006, OpenCube Inc. All Rights Reserved.

Autres exemples de requêtes possibles

Nous verrons ici, au travers d'exemples, quelques requêtes courantes sur les bases de données.

Supprimer un enregistrement

Exemple pris pour la suppression d'une photo sur le portail notre-planete.info.
On suppose que la variable photo a été transmise dans l'URL via un lien du type :

<a href="supprime_photo.php?photo=lemming.jpg">supprimer la photo</a>

La page "supprime_photo.php" exécute alors le code suivant :

// connexion à la base de données
include ($_SERVER["DOCUMENT_ROOT"]."/inc/id_connect.inc.php");

// recupération de la valeur de la variable photo passée dans l'URL
$photo = $_GET["asup"];

// suppression de la photo sélectionnée
$requete = "DELETE FROM table_photos WHERE champ_photo='$photo'";
mysql_query($requete) or die ('Erreur '.$requete.' '.mysql_error());

// fermeture de la connexion
mysql_close();
echo 'La photo '.$photo.' a bien été supprimée';

Ce script peut servir par exemple pour la suppression de photos qui ne correspondent plus aux exigences de qualité nécessaires des galeries.

Mettre à jour un enregistrement

Exemple pris pour la mise à jour de son CV présent dans la rubrique emploi du portail notre-planete.info.
Un demandeur d'emploi peut, sur sa demande, accéder à une page où son CV (déjà posté), est visible et modifiable dans des zones de texte. Une fois qu'il est satisfait de ces modifications, il valide le formulaire et le code suivant s'exécute :

// connexion à la base de données
include ($_SERVER["DOCUMENT_ROOT"]."/inc/id_connect.inc.php");

// récupération des valeurs renseignées dans le formulaire
$numcv = $_POST["numcv"];
$titrecv = $_POST["titrecv"];
$typecontrat = $_POST["typecontrat"];
$contenucv = $_POST["contenucv"];

// mise à jour du CV
$requete = "UPDATE table_cv SET champ_titrecv = '$titrecv', champ_contrat = '$typecontrat', champ_cv = '$contenucv ' WHERE champ_numero='$numcv'";
mysql_query($requete) or die ('Erreur '.$requete.' '.mysql_error());

Bien sûr, il conviendra de mettre en place au préalable, une zone d'authentification pour s'assure que le demandeur est bien le propriétaire du CV...

Insérer un enregistrement

Exemple pris pour l'insertion d'une nouvelle actualité sur le portail notre-planete.info.
La mise en ligne d'une actualité suppose que l'administrateur du site ait rempli un formulaire comportant une zone de texte "texte" (pour le corps de l'actualité), un choix de boutons radios "rubrique" (pour la rubrique appropriée à l'actualité, une zone de texte "titre", et une liste déroulante "auteur" (pour le choix de l'auteur de cette actualité).

// connexion à la base de données
include ($_SERVER["DOCUMENT_ROOT"]."/inc/id_connect.inc.php");

// récupération des valeurs renseignées dans le formulaire
$texte = nl2br($_POST["texte"]); // utilisation de la fonction nl2br pour tenir compte des sauts de ligne
$rubrique = $_POST["rubrique"];
$titre = $_POST["titre"];
$auteur = $_POST["auteur"];

// selection de l'auteur de l'actualité, dans la table des auteurs
$requete = "SELECT * FROM table_actualites_auteurs WHERE champ_auteur = '$auteur'";
$resultat = mysql_query($requete) or die ('Erreur '.$requete.' '.mysql_error());
$ligne = mysql_fetch_row($resultat);
$source = $ligne[0];

// requête d'insertion de l'actualité
$requete ="INSERT INTO table_actualites (champ_rubrique,champ_date,champ_texte,champ_titre,champ_auteur) VALUES ('$rubrique',NOW(),'$texte','$titre','$source')";
$resultat = mysql_query($requete) or die ('Erreur '.$requete.' '.mysql_error());

// récupération du numéro automatique de la nouvelle actualité
$numero = mysql_insert_id();
echo 'Insertion de l\'actualité n°'.$numero.' dans la base MYSQL réussie !';

Ce dernier exemple introduit quelques nouveautés :
  • une première requête de sélection est effectuée sur la table "table_actualites_auteurs" afin de récupérer le numéro (clé primaire) de l'auteur, numéro qui sera ensuite inséré dans le champ de la table actualité ("champ_auteur") prévu à cet effet
  • lors de l'insertion de la nouvelle actualité, on utilise la valeur NOW() pour remplir le champ "champ_date" avec la date actuelle (au moment de l'exécution du script)
  • On utilise un numéro auto unique (clé primaire) qui s'incrémente de 1 pour chaque nouvel enregistrement inséré afin de numéroter les actualités. Il est possible de récupérer la valeur de ce numéro automatique allouée par MySQL via la fonction mysql_insert_id().

A vous de jouer !

Les quelques éléments que nous avons présentés dans ce cours ne sont qu'une base de départ pour explorer toutes les facettes du PHP. Ce langage qui ne cesse de s'enrichir et de s'ouvrir à de nombreux standards, fournit au webmaster une quantité d'outils pour récupérer des informations, en construire (graphiques et PDF à la volée...) d'une façon relativement simple et efficace. Avec ses nombreux atouts, le PHP est devenu sans aucun doute un langage indispensable à connaître et adopter pour le web dynamique, d'autant plus qu'il est reconnu et exploité par les plus importants sites que connaît Internet.

Nous vous recommandons vivement de consulter les sources qui m'ont aidé à mettre en place cette présentation et qui vous permettront d'approfondir le PHP : Maintenant à vous de jouer :-)

Christophe MAGDELAINE, enseignant en PHP et responsable du portail notre-planete.info

Nous vous informons que ce cours constitue une œuvre protégée en France par le Code de la Propriété Intellectuelle, et à l’étranger par les conventions internationales en vigueur sur le droit d’auteur. La violation de l’un des droits d’auteur de l’œuvre est un délit de contrefaçon. Il est donc interdit, à titre privé ou public, de reproduire, copier, vendre, revendre ou exploiter, que ce soit dans un but commercial ou purement gratuit, ce cours, sauf accord exprès et préalable de son auteur.


Google
 
 RESSOURCES GRATUITES
 Caractères spéciaux
 Code Couleurs HTML
 Générateur Méta Tags
 Références HTML
 Scripts : ASP
 Scripts : Java Scripts
 PRATIQUE / OUTILS
 Salons Informatiques
 Astuces Windows
 TÉLÉCHARGEMENTS
 Utilitaires système
 Logiciels pratiques
 Jeux & démos
 INFOS SITE
 Contacts
 Mentions légales
 Qui sommes-nous ?
 PARTENAIRES
 Jeux et Jouets
 Murielle Cahen
 Cours d'anglais
 Droit NTIC
 Directeur Internet
 Australie
 Création site Internet
 VOD News