Programmation WEB - PowerPoint PPT Presentation

1 / 31
About This Presentation
Title:

Programmation WEB

Description:

Afficher la liste des produits et choisir des articles en les mettant dans le panier. ... echo 'Produit $p ajout '; include('liste_form.php'); // afficher le lien pour le panier ... – PowerPoint PPT presentation

Number of Views:32
Avg rating:3.0/5.0
Slides: 32
Provided by: lacl2
Category:

less

Transcript and Presenter's Notes

Title: Programmation WEB


1
Programmation WEB
  • CM 5

2
Cas d'étude Panier
  • On considère le problème suivant
  • Afficher la liste des produits et choisir des
    articles en les mettant dans le panier.
  • Gérer le panier ajouter/supprimer/modifier des
    articles, calculer le prix.

3
Remarques
  • On supposera que tout utilisateur doit
    s'authentifier préalablement (on connaîtra donc
    son ID).
  • On supposera qu'un utilisateur aura un seul
    panier.

4
Plan du site
Page principale
f
a
f
a
Panier
Liste produits
5
Étapes
  • Afficher la liste des produits.
  • Mémoriser le choix des produits.
  • Travail avec le panier.

Bibliothèque
6
La gestion des produits
  • La BD.
  • Le script correspondant (affichage et choix).

7
La table produits
  • produits(id, nom, prix, qmax, )

8
liste_produits.php formulaire
Ajouter au panier
9
Le code HTML(liste_form.php)
  • ltform action"" method"post"gt
  • lttablegt
  • lttrgtlttdgtLaitlt/tdgtlttdgt0,8lt/tdgtlttdgtltinput
    type"checkbox" name"choix" value"1"gtlt/tdgtlt/tr
    gt
  • lttrgtlttdgtPainlt/tdgtlttdgt2lt/tdgtlttdgtltinput
    type"checkbox" name"choix" value"2"gtlt/tdgtlt/tr
    gt
  • lt/formgt

10
Le code (liste_form.php)
  • ltform action"" method"post"gt
  • lttablegt
  • SQL "SELECT FROM produits"
  • res mysql_query(SQL)
  • while (rowmysql_fetch_array(res))
  • echo "lttrgtlttdgtrownomlt/tdgtlttdgtrowprixlt/tdgt
    lttdgtltinput type'checkbox' name'choix'
    value'rowprodid'gtlt/tdgtlt/trgt\n"
  • lt/tablegt
  • ltinput type"submit" value"Ajouter au panier"gt
  • lt/formgt

11
liste_produits.php logique
  • Vérification de l'envoi des données.
  • Traitement des données reçus.
  • Ou affichage de la liste des produits.

12
liste_produits.php Initialisation
  • lt?php
  • include("auth.php")
  • include("header.php")
  • include("db_config.php")
  • include("panier_lib.php")
  • userid _SESSION"USERID"
  • // connexion à la BD

13
affiche_produits.php récupération
  • if (!isset(_POST'choix')
  • include("liste_form.php") exit()
  • foreach (_POST'choix' as value)
  • prodid mysql_real_escape_string(value)
  • ajouter_panier(userid, prodid)
  • p nom_produit(value)
  • echo "Produit p ajouté"
  • include("liste_form.php")
  • // afficher le lien pour le panier

14
Le panier (gestion)
  • La BD.
  • La bibliothèque des fonctions.
  • Le script d'affichage et récupération.

15
La table panier
  • panier(userid, prodid, qte)

16
La bibliothèque (panier_lib.php)
  • ajouter_panier(userid, prodid)
  • modifier_panier(userid,prodid,qte)
  • supprimer_panier(userid,prodid)
  • calculer_prix_prod(userid,prodid)
  • calculer_prix_total(userid)
  • vider_panier(userid)

17
La bibliothèque (panier_lib.php)
  • function ajouter_panier(userid, prodid)
  • SQL"INSERT INTO panier VALUES('userid','pro
    did','1')"
  • mysql_query(SQL)

18
La bibliothèque (panier_lib.php)
  • function modifier_panier(userid,prodid,qte)
  • SQL"UPDATE panier SET qte'qte' WHERE
    userid'userid' AND prodid'prodid'"
  • mysql_query(SQL)

19
La bibliothèque (panier_lib.php)
  • function supprimer_panier(userid,prodid)
  • SQL"DELETE FROM panier WHERE
    userid'userid' AND prodid'prodid'"
  • mysql_query(SQL)

20
La bibliothèque (panier_lib.php)
  • function calculer_prix_prod(userid,prodid)
  • SQL"SELECT qteprix FROM panier p, produits
    pr WHERE userid'userid' AND p.prodid'prodid'
    AND p.prodidpr.id"
  • resmysql_query(SQL)
  • return mysql_result(res,0)

21
La bibliothèque (panier_lib.php)
  • function calculer_prix_total(userid)
  • SQL"SELECT SUM(qteprix) FROM panier p,
    produits pr
  • WHERE userid'userid' AND p.prodidpr.id"
  • resmysql_query(SQL)
  • return mysql_result(res,0)

22
La bibliothèque (panier_lib.php)
  • function vider_panier(userid)
  • SQL"DELETE FROM panier WHERE
    userid'userid' "
  • mysql_query(SQL)

23
Affichage et modification (show_panier.php)
3
2
6,4
Total
Modifier
Vider
24
show_panier.php
  • C'est un script qui ne comporte que l'affichage
    du panier.
  • Alors il ne faut pas oublier de l'inclure où il
    le faut.

25
Affichage et modification (show_panier.php)
3
2
6,4
Total
Modifier
Vider
26
Affichage de la ligne
  • SQL "SELECT FROM produits pr, panier p WHERE
    p.useriduserid AND pr.idp.prodid"
  • res mysql_query(SQL)
  • while (rowmysql_fetch_array(res))
  • echo "lttdgtrownomlt/tdgtlttdgtrowprixlt/tdgtlttdgt
    ltinput type 'text' name'qte-rowprodid'
    value'rowqte'gtlt/tdgtlttdgt".row'prix'row'q
    te'."lt/tdgtlttdgtltinput type'checkbox'
    name'choix' value'rowprodid'gtlt/tdgt\n"

27
Les boutons
  • ltinput type"submit" name"modifier"
    value"Modifier"gt
  • ltinput type"submit" name"vider" value"Vider"gt

28
Le code de la page d'affichage du panier
29
Récupération
  • if (!isset(_POST'modifier'
    (!isset(_POST'vider' )
  • include("show_panier.php") exit()
  • if ( isset(_POST'vider' ))
  • vider_panier(userid)
  • include("show_panier.php") exit()

30
Récupération (suite)
  • if (isset(_POST'choix')
  • foreach(_POST'choix' as value)
  • prodid mysql_real_escape_string(value)
  • supprimer_panier(userid,prodid)

31
Récupération (suite 2)
  • foreach(_POST as keygtqte)
  • if (strpos(key,"qte-")0)
  • prodid substr(key,4)
  • prodid mysql_real_escape_string(prodid)
  • qte mysql_real_escape_string(qte)
  • modifier_panier(userid,prodid,qte)
  • include("show_panier.php")
Write a Comment
User Comments (0)
About PowerShow.com