Conception de Site Webs Interactifs Cours 9 Patrick Reuter
Page vote.php " name="id" />
PHP et MySQL
Instructions MySQL Systématiquement protéger vos champs textes : $titre = "couper l’arbre"; $titre = mysql_escape_string($titre); echo $titre; // couper l\’arbre
Fonctions en PHP Exemple : function requete($sql) { $resultat = mysql_query($sql); if (mysql_errno()) { echo "MySQL error ".mysql_errno().": ".mysql_error()."\n "; echo "Requête MySQL : ".$sql."\n "; die; } else return $resultat; }
Fonctions en PHP Exemple : function requete($sql) { $resultat = mysql_query($sql); if (mysql_errno()) { echo "MySQL error ".mysql_errno().": ".mysql_error()."\n "; echo "Requête MySQL : ".$sql."\n "; die; } else return $resultat; } Nom de la fonction Retour de la fonction
Fonctions en PHP Exemple : function requete($sql) { $resultat = mysql_query($sql); if (mysql_errno()) { echo "MySQL error ".mysql_errno().": ".mysql_error()."\n "; echo "Requête MySQL : ".$sql."\n "; die; } else return $resultat; } Corps de la fonction
Sélectionner les enregistrements Sélectionner les champs de tous les enregistrements d’une table SELECT * FROM `users` [WHERE condition [AND condition] [OR condition]] [ORDER BY champs [DESC][ASC]];
Insérer des enregistrements INSERT INTO `users` ( `id`, `pseudo`, `motdepasse` ) VALUES ('1', 'nathan', '0000‘ ); si le champs id est mis en auto-increment, il suffit de mettre INSERT INTO `users` (`pseudo`, `motdepasse`) VALUES ('nathan', '0000‘ ); et la valeur de id est mise à jour automatiquement
Modifier des enregistrements Modifier une donnée dans une table UPDATE nom_table SET nom_du_champs = nouvelle_valeur [WHERE nom_du_champs = valeur[ AND nom_du_champs2 = valeur2]] Exemple UPDATE sondage SET nombrechoix1 = 0 WHERE id = 1
Effacer un enregistrement DELETE FROM nom_table [WHERE nom_du_champs = valeur [AND nom_du_champs = valeu]]
Interaction PHP avec MySQL
Insérer un enregistrement INSERT INTO
Mettre à jour un enregistrement UPDATE
Mini-projet CSWI Les mini-projets démarrent bientôt L’évaluation se fait premièrement par –Utilisation de HTML (Tables,...) –Utilisation de CSS –Utilisation de PHP –Utilisation de MySQL –Éventuellement utilisation de JavaScript
Mini-projets 1.Site de rencontre –(utilisateurs, rechercher un correspondant) 2.Messagerie privée –(éventuellement à combiner avec 1.) 3.Gestion d’une équipe de sport 4.Forum de discussion 5.Gestion de salles de cours 6.Site de vente aux enchères 7.Albums de photos 8.Carnet d’adresses et liste de mailings 9.Gestionnaire de DVD
Jeu à jardin de plantes Actualisation web Mailing list Reminder web de evenement Creation statistiques Gestionnaire division sportive Planning
Terminologie Base de données (database) Table (table) Enregistrement (record) Champ (field)
Table PERSONNE PERSONNE PersIDnomprénomdate_naissville_naiss 1Dupontbob yyyymeurise zzzzcodd note : ici ville_naiss est une clé étrangère (Table VILLE)
Table VILLE VILLE VilleIDnompopulationsuperficieregion 1Paris Lyon Grenoble note : ici region est une clé étrangère (table REGION)
Relation 1 : n
Types de relations Relation de type 1:1 Relation de type 1:n Relation de type n:m
Relation de type 1:1 Une entité est partenaire de exactement une autre entité Exemples: Mariage : Une personne est marié avec exactement une autre personne ⇒ Personne 1:1 Personne Immatriculation : Une véhicule à exactement une immatriculation ⇒ Véhicule 1:1 Immatriculation Stade : Dans notre exemple, un club a exactement un stade ⇒ Club 1:1 Stade
Relation de type 1:n Une entité d'un côté est en relation avec un ou plusieurs entités de l'autre côté. Exemples : Art : Un tableau se trouve (à un moment donné) dans un musée. Par contre, dans un musée il y a plusieurs tableaux. ⇒ Musée 1:n Tableaux Famille: Un enfant à exactement une mère biologique. Mais une mère peut avoir plusieurs enfants. ⇒ Mère 1:n Enfants
Relation n:m Dans les deux côtés de la relation il y a un nombre arbitraire d'entités. Attention : Ne pas écrire n:n ! (n ≠ m) Exemples : Etudiant ↔ Professeur: Un professeur enseigne plusieurs étudiants. Un étudiant va en cours de plusieurs professeurs. ⇒ Professeur m:n Etudiant Immobilier : Un immobilier peut appartenir à plusieurs propriétaires. Un propriétaire peut posséder plusieurs immobiliers. ⇒ Propriétaire n:m Immobilier joueurs ↔ clubs anciens : Un joueur peut avoir plusieurs clubs anciens. Un club a plusieurs joueurs.
Réalisation Relation 1:1 La clé primaire d'une entité est la clé étrangère d'une autre entité dans un champs supplémentaire. Relation 1:n La table de l'entité du côté n aura un champs supplémentaire qui a comme clé étrangère la clé primaire du côté 1. Relation n:m Création d'une table de jointure qui contient deux clés étrangères qui sont les clés primaires des deux tableaux. Les relations n:m seront toujours converties en deux relations, une relation 1:n, et une relation 1:m.