├── README.md ├── add.php ├── close.php ├── connect.php ├── delete.php ├── details.php ├── disable.php ├── edit.php └── index.php /README.md: -------------------------------------------------------------------------------- 1 | # php-crud 2 | Créer un crud en PHP. Article correspondant : https://nouvelle-techno.fr/actualites/live-coding-creer-un-crud-en-php 3 | -------------------------------------------------------------------------------- /add.php: -------------------------------------------------------------------------------- 1 | prepare($sql); 20 | 21 | $query->bindValue(':produit', $produit, PDO::PARAM_STR); 22 | $query->bindValue(':prix', $prix, PDO::PARAM_STR); 23 | $query->bindValue(':nombre', $nombre, PDO::PARAM_INT); 24 | 25 | $query->execute(); 26 | 27 | $_SESSION['message'] = "Produit ajouté"; 28 | require_once('close.php'); 29 | 30 | header('Location: index.php'); 31 | }else{ 32 | $_SESSION['erreur'] = "Le formulaire est incomplet"; 33 | } 34 | } 35 | 36 | ?> 37 | 38 | 39 | 40 | 41 | 42 | Ajouter un produit 43 | 44 | 45 | 46 | 47 |
48 |
49 |
50 | 53 | '. $_SESSION['erreur'].' 54 |
'; 55 | $_SESSION['erreur'] = ""; 56 | } 57 | ?> 58 |

Ajouter un produit

59 |
60 |
61 | 62 | 63 |
64 |
65 | 66 | 67 | 68 |
69 |
70 | 71 | 72 |
73 | 74 |
75 | 76 | 77 |
78 | 79 | -------------------------------------------------------------------------------- /close.php: -------------------------------------------------------------------------------- 1 | exec('SET NAMES "UTF8"'); 6 | } catch (PDOException $e){ 7 | echo 'Erreur : '. $e->getMessage(); 8 | die(); 9 | } -------------------------------------------------------------------------------- /delete.php: -------------------------------------------------------------------------------- 1 | prepare($sql); 16 | 17 | // On "accroche" les paramètre (id) 18 | $query->bindValue(':id', $id, PDO::PARAM_INT); 19 | 20 | // On exécute la requête 21 | $query->execute(); 22 | 23 | // On récupère le produit 24 | $produit = $query->fetch(); 25 | 26 | // On vérifie si le produit existe 27 | if(!$produit){ 28 | $_SESSION['erreur'] = "Cet id n'existe pas"; 29 | header('Location: index.php'); 30 | die(); 31 | } 32 | 33 | $sql = 'DELETE FROM `liste` WHERE `id` = :id;'; 34 | 35 | // On prépare la requête 36 | $query = $db->prepare($sql); 37 | 38 | // On "accroche" les paramètre (id) 39 | $query->bindValue(':id', $id, PDO::PARAM_INT); 40 | 41 | // On exécute la requête 42 | $query->execute(); 43 | $_SESSION['message'] = "Produit supprimé"; 44 | header('Location: index.php'); 45 | 46 | 47 | }else{ 48 | $_SESSION['erreur'] = "URL invalide"; 49 | header('Location: index.php'); 50 | } 51 | -------------------------------------------------------------------------------- /details.php: -------------------------------------------------------------------------------- 1 | prepare($sql); 16 | 17 | // On "accroche" les paramètre (id) 18 | $query->bindValue(':id', $id, PDO::PARAM_INT); 19 | 20 | // On exécute la requête 21 | $query->execute(); 22 | 23 | // On récupère le produit 24 | $produit = $query->fetch(); 25 | 26 | // On vérifie si le produit existe 27 | if(!$produit){ 28 | $_SESSION['erreur'] = "Cet id n'existe pas"; 29 | header('Location: index.php'); 30 | } 31 | }else{ 32 | $_SESSION['erreur'] = "URL invalide"; 33 | header('Location: index.php'); 34 | } 35 | ?> 36 | 37 | 38 | 39 | 40 | 41 | Détails du produit 42 | 43 | 44 | 45 |
46 |
47 |
48 |

Détails du produit

49 |

ID :

50 |

Produit :

51 |

Prix :

52 |

Nombre :

53 |

Retour Modifier

54 |
55 |
56 |
57 | 58 | -------------------------------------------------------------------------------- /disable.php: -------------------------------------------------------------------------------- 1 | prepare($sql); 16 | 17 | // On "accroche" les paramètre (id) 18 | $query->bindValue(':id', $id, PDO::PARAM_INT); 19 | 20 | // On exécute la requête 21 | $query->execute(); 22 | 23 | // On récupère le produit 24 | $produit = $query->fetch(); 25 | // On vérifie si le produit existe 26 | if(!$produit){ 27 | $_SESSION['erreur'] = "Cet id n'existe pas"; 28 | header('Location: index.php'); 29 | } 30 | 31 | $actif = ($produit['actif'] == 0) ? 1 : 0; 32 | 33 | $sql = 'UPDATE `liste` SET `actif`=:actif WHERE `id` = :id;'; 34 | 35 | // On prépare la requête 36 | $query = $db->prepare($sql); 37 | 38 | // On "accroche" les paramètres 39 | $query->bindValue(':id', $id, PDO::PARAM_INT); 40 | $query->bindValue(':actif', $actif, PDO::PARAM_INT); 41 | 42 | // On exécute la requête 43 | $query->execute(); 44 | 45 | header('Location: index.php'); 46 | 47 | }else{ 48 | $_SESSION['erreur'] = "URL invalide"; 49 | header('Location: index.php'); 50 | } 51 | 52 | -------------------------------------------------------------------------------- /edit.php: -------------------------------------------------------------------------------- 1 | prepare($sql); 22 | 23 | $query->bindValue(':id', $id, PDO::PARAM_INT); 24 | $query->bindValue(':produit', $produit, PDO::PARAM_STR); 25 | $query->bindValue(':prix', $prix, PDO::PARAM_STR); 26 | $query->bindValue(':nombre', $nombre, PDO::PARAM_INT); 27 | 28 | $query->execute(); 29 | 30 | $_SESSION['message'] = "Produit modifié"; 31 | require_once('close.php'); 32 | 33 | header('Location: index.php'); 34 | }else{ 35 | $_SESSION['erreur'] = "Le formulaire est incomplet"; 36 | } 37 | } 38 | 39 | // Est-ce que l'id existe et n'est pas vide dans l'URL 40 | if(isset($_GET['id']) && !empty($_GET['id'])){ 41 | require_once('connect.php'); 42 | 43 | // On nettoie l'id envoyé 44 | $id = strip_tags($_GET['id']); 45 | 46 | $sql = 'SELECT * FROM `liste` WHERE `id` = :id;'; 47 | 48 | // On prépare la requête 49 | $query = $db->prepare($sql); 50 | 51 | // On "accroche" les paramètre (id) 52 | $query->bindValue(':id', $id, PDO::PARAM_INT); 53 | 54 | // On exécute la requête 55 | $query->execute(); 56 | 57 | // On récupère le produit 58 | $produit = $query->fetch(); 59 | 60 | // On vérifie si le produit existe 61 | if(!$produit){ 62 | $_SESSION['erreur'] = "Cet id n'existe pas"; 63 | header('Location: index.php'); 64 | } 65 | }else{ 66 | $_SESSION['erreur'] = "URL invalide"; 67 | header('Location: index.php'); 68 | } 69 | 70 | ?> 71 | 72 | 73 | 74 | 75 | 76 | Modifier un produit 77 | 78 | 79 | 80 | 81 |
82 |
83 |
84 | 87 | '. $_SESSION['erreur'].' 88 |
'; 89 | $_SESSION['erreur'] = ""; 90 | } 91 | ?> 92 |

Modifier un produit

93 |
94 |
95 | 96 | 97 |
98 |
99 | 100 | 101 | 102 |
103 |
104 | 105 | 106 |
107 | 108 | 109 |
110 | 111 | 112 |
113 | 114 | -------------------------------------------------------------------------------- /index.php: -------------------------------------------------------------------------------- 1 | prepare($sql); 12 | 13 | // On exécute la requête 14 | $query->execute(); 15 | 16 | // On stocke le résultat dans un tableau associatif 17 | $result = $query->fetchAll(PDO::FETCH_ASSOC); 18 | 19 | require_once('close.php'); 20 | ?> 21 | 22 | 23 | 24 | 25 | 26 | Liste des produits 27 | 28 | 29 | 30 | 31 |
32 |
33 |
34 | 37 | '. $_SESSION['erreur'].' 38 |
'; 39 | $_SESSION['erreur'] = ""; 40 | } 41 | ?> 42 | 45 | '. $_SESSION['message'].' 46 | '; 47 | $_SESSION['message'] = ""; 48 | } 49 | ?> 50 |

Liste des produits

51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 76 | 77 |
IDProduitPrixNombreActifActions
A/D Voir Modifier Supprimer
78 | Ajouter un produit 79 | 80 | 81 |
82 | 83 | --------------------------------------------------------------------------------