Bonjour à tous,
Je précise d'abord que je débute en PHP mysql, je travaille sur un projet pour mon entreprise.
J'ai réalisé un formulaire de réservation qui inscrit dans une base de données des infos ( nom, prénom, email etc .... )
Tout ça fonctionne très bien.
A la validation du formulaire, une confirmation est affichée avec un récapitulatif des infos renseignées. Dans le cas où plusieurs personnes valident ce formulaire en même temps, j'ai imaginé attribuer à chaque validation un ID unique, afin de savoir quoi afficher, et à qui. Le problème est que je n'arrive pas à aller chercher la bonne ligne et afficher son contenu. En gros j'aimerai sélectionner la ligne ( donc le nom, le prénom, email etc .... ) qui a cet ID unique dans le champ nommé " uniqid". J'ai tout essayé, je n'y arrive pas.... Dites moi ce qui ne va pas dans mon code :
Avec ce code, j'ai un message d'erreur, par exemple la variable $name n'existe pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 <?php // DSN (Data Source Name) de PDO $dsn = 'mysql:host=localhost;dbname=vtc;charset=utf8mb4'; $username = 'root'; $password = ''; // Créer une instance PDO $pdo = new PDO($dsn, $username, $password); // Définir le mode d'erreur sur exception $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (Exception $e) { die('Erreur : ' . $e->getMessage()); } // Je récupère un ID unique généré sur la page précédente via get url -> fonctionne très bien $id = $_GET["id"]; // je l'affiche pour vérifier que ça marche bien echo $id; // Je prépare ma requête sql qui doit aller chercher 1 seule ligne de la table, celle où est inscrit l'ID unique récupéré via GET URL précédemment $sql = 'SELECT name, surname FROM reservation WHERE uniqid = @id'; $req = $pdo->prepare($sql); $req->execute(); $data = $req->fetchAll(); // J'en suis là, je sais que le code ci -dessous n'est pas correct, il va lister tous les champs alors que je n'ai besoin que d'une seule ligne ( celle de l'ID unique ) foreach ($data as $reservation) { $id = $reservation['uniqid']; $name = $reservation['name']; $surname = $reservation['surname']; $email = $reservation['email']; $phone = $reservation['phone']; $date = $reservation['date']; $time = $reservation['time']; $passengers = $reservation['passengers']; } ?>
Si quelqu'un a une idée, je suis preneur car j'ai tout essayé, et rien ne fonctionne.
Merci d'avance.
Partager