Bonjour,
Je vous remercie déjà d'avoir cliqué, mon problème étant : je crée un site qui sert a donner des infos d'une bd, en affichant des pages si on est connecté. Tout cela fonctionne mais j'ai un problème, sur une de mes pages donnant des infos a la personne connecté je fais un tableau avec sur chaque ligne 2 boutons, ayant pour objectif pour le bouton 'prepa' de mettre la ligne(sélectionner) en vert (et d'avoir un nouveau bouton 'ok' pour signaler la fin de la 'prepa'(ration) mais je tienais a me concentrer sur la couleur dans un premier temps) et pour le bouton 'refuser' en rouge.
Je donnes mon code si quelqu'un de (plus) compétent peux m'aider. Sachant que des erreurs peuvent se trouver surtout au niveau de la fonction Js et aux tentative de changement de couleur qui ont peut être donner lieu à des vestiges, je m'en excuse.
Je vous remercie !
code de ma page Commande (la ou il y a le Tableau)
Commande.php (pour mieux comprendre ma logique de débutant :/)
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73 <?php session_start(); require_once 'Commande.class.php'; require_once 'PageUser.class.php'; require_once 'Plat.class.php'; $p=new PageU(); $commande= Commande::getAll(); $plat= Plat::getAll(); $p->AddJsUrl("https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"); $html=<<<HTML <table id="tableau" border="2"> <tr> <th colspan=5>Commande </th> </tr> <tr> <th>Noms des Plats</th> <th>Nombre de plat</th> <th width=60>Etat</th> <th colspan=2>Etat des plats</th> </tr> HTML; foreach($commande as $COMMANDE){ $numT = $COMMANDE->getNUMTABLE(); $compteur=1; for($i=1;$i<=count($COMMANDE->getNUMTABLE());$i++){ $compteur= Commande::getNBTABLE($numT); } $numP = $COMMANDE->getNUMPLAT(); $numQ = $COMMANDE->getNUMQUANTITE(); $etat = $COMMANDE->getETAT(); $M = Plat::createFromId($numP); $nomP = $M->getNOMPLAT(); $html.= <<<HTML <tr id="{$numT}"><form action="Commande.php" method='POST'> <div><td align="center">{$nomP}</td> <td align="center">{$numQ}</td> <td width=60 align="center">{$etat}</td></div> <td><input class = "prepa" id="prepa" type='submit' name='En Préparation' value='Prepa'/></td> <td><input type='submit' name='Refuser' value='refus' id='refus'></td></form> <br> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"> $('#prepa').on('click',function(){ $.ajax({ type : "POST", url: "Etat.php", data: {$numT} }); </script> HTML ; $html.="<tr></tr>"; } $p->AddContent($html); echo $p ->toHTML();
Pageuser.php pour la meme raison
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96 <?php require_once 'myPDO.include.php'; class Commande { //numéro de la table private $NUMPLAT = null; //info de la RESERVATION private $NUMTABLE = null; /** * fabrication d'une instance Commande à partir d'un identifiant * Les données sont issues de la base de données * @param int $id identifiant BD de la Commande à créer * @return Commande, instance correspondant à $id * @throws Exception si la Commande peut pas être trouvé dans la BD */ public static function createFromID($id) { $stmt = myPDO::getInstance()->prepare(<<<SQL SELECT * FROM COMMANDER WHERE NUMPLAT = ? SQL ) ; $stmt->setFetchMode(PDO::FETCH_CLASS, __CLASS__) ; $stmt->execute(array($id)) ; if (($object = $stmt->fetch()) !== false) { return $object ; } throw new Exception('Commande non trouvé') ; } public static function getAll(){ $stmt = myPDO::getInstance()->prepare(<<<SQL SELECT * FROM COMMANDER ORDER BY NUMTABLE SQL ) ; $stmt->setFetchMode(PDO::FETCH_CLASS, __CLASS__) ; $stmt->execute() ; return $stmt->fetchAll() ; } //Récupère le numéro de la reservation public function getNUMPLAT(){ return $this->NUMPLAT; } public function getNUMTABLE(){ return $this->NUMTABLE; } public static function getNBTABLE($id){ $stmt = myPDO::getInstance()->prepare(<<<SQL SELECT COUNT(NUMTABLE) AS NB FROM COMMANDER WHERE NUMTABLE = ? SQL ) ; $stmt->execute(array($id)); if (($object = $stmt->fetch()) !== false) { return $object["NB"] ; } } public function getNUMQUANTITE(){ return $this->QUANTITE; } public function getETAT(){ return $this->ETAT; } public static function Save($mess){ $stmt = myPDO::getInstance()->prepare(<<<SQL INSERT INTO COMMANDER(NUMPLAT) VALUES(?) SQL ); $stmt->setFetchMode(PDO::FETCH_CLASS, __CLASS__) ; $stmt->execute(array($mess)) ; } public static function getReserv(){ $stmt = myPDO::getInstance()->prepare(<<<SQL SELECT NUMPLAT, FROM COMMANDER r, COMMANDER s WHERE s.NUMTABLE=r.NUMTABLE ORDER BY NUMPLAT SQL ) ; $stmt->setFetchMode(PDO::FETCH_CLASS, __CLASS__) ; $stmt->execute() ; return $stmt->fetchAll() ; } }
et enfin la PageUser.class.php
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71 <?php require_once 'user.class.php'; require_once 'Page.class.php'; class PageU extends Page{ /** * Produire la page Web complète * * @return string * @throws Exception si title n'est pas défini */ public function toHTML() { $html=<<<HTML <!DOCTYPE html> <html lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html"> <meta charset="utf-8"> {$this->meta} <title>{$this->title}</title> <link rel='stylesheet' href='pagecorrecte.css' type='text/css'> {$this->head} </head> <body> <header> <h1>La gestion du Restaurant</h1> <span> <a href="index.php">Accueil</a> HTML; if(isset($_SESSION['connected']) && $_SESSION['connected']) { $html.=<<<HTML <a href="LaReservation.php">Reservations</a> <a href="Commande.php">Plat commandés</a> <a href="index.php?action=deconnexion">Se déconnecter</a> HTML; }else{ $html.=<<<HTML </span> <div> <form name='connection' action='connection.php' method='POST'> <input type='text' name='nom' value='nom' > <input type='password' name='mdp' value='mdp'><br> <input type='submit' name='connection' value='Se connecter'> </form> </div> HTML; } $html .=<<<HTML </header> <section> {$this->body} </table> </section> <footer> <hr> <img src="logo1.jpg" alt="Logo iut" /> <img src="logo2.jpg" alt="Logo 1 iut" /> <img src="logo3.jpg" alt="Logo 2 iut" /> <img src="logo4.jpg" alt="Logo 3 iut" /> <img src="logo6.jpg" alt="Logo 4 iut" /> </footer> </body> </html> HTML; return $html; } }
Je vous évite le mypdo qui est assez quelconque.
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87 <?php require_once 'myPDO.include.php'; class user{ private $numpers = null; private $nom = null; private $mdp = null; public static function createFromID($numpers) { $stmt = myPDO::getInstance()->prepare(<<<SQL SELECT * FROM PERSONNEL WHERE NUMPERSO = ? SQL ) ; $stmt->setFetchMode(PDO::FETCH_CLASS, __CLASS__) ; $stmt->execute(array($numpers)) ; if (($object = $stmt->fetch()) !== false) { return $object ; } throw new Exception('personnel non trouvé') ; } public static function getAll() { $stmt = myPDO::getInstance()->prepare(<<<SQL SELECT * FROM PERSONNEL ORDER BY NOM SQL ) ; $stmt->setFetchMode(PDO::FETCH_CLASS, __CLASS__) ; $stmt->execute() ; return $stmt->fetchAll() ; } public function getnumpers(){ return $this->NUMPERSO; } public function getnom(){ return $this->NOM; } public function getmdp(){ return $this->MDP; } public function existeNom($nom){ $res=false; $stmt = myPDO::getInstance()->prepare(<<<SQL SELECT * FROM PERSONNEL WHERE NOM = ? SQL ) ; $stmt->setFetchMode(PDO::FETCH_CLASS, __CLASS__) ; $stmt->execute(array($nom)) ; if ($stmt->fetch() !== false) { $res=true; }else{ /*throw new Exception('Personnel non trouvé');*/ } return $res; } public function existeMdp($mdp){ (boolean) $res=false; $stmt = myPDO::getInstance()->prepare(<<<SQL SELECT NOM,MDP FROM PERSONNEL WHERE MDP = 'sha1($mdp)' SQL ) ; $stmt->setFetchMode(PDO::FETCH_CLASS, __CLASS__) ; $stmt->execute(array($mdp)) ; if (($object = $stmt->fetch()) !== false) { $res=true; }else{ /*throw new Exception('Personnel non trouvé') ;*/ } return $res; } }
Bonne soirée a vous et surtout merci !
Partager