MySQL - Changement Web et Bdd
Pifff
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai rien à faire durant mon confinement alors je m'occupe... et je ne trouve pas de solutions
Je viens de créer une base de donnée.
Table 'seuils_alerte' avec les colonnes suivantes :
- une colonne pour indiquer le type de capteur (C0, CO2, TEMP, etc)
- une colonne pour le seuil mini
- une colonne pour le seuil maxi.
Et depuis ma page Web :
http://82.233.223.249:8088/seuils_alerte/alerte.php
J'aimerais :
- Par exemple capteur (CO) j'aimerais avoir 30 pour mini et 60 max, quand je fais valider.
ça me changer les valeurs dans la base de donnée en même temps.
J'ai déjà effectué la connexion avec la bdd.. il me manque plus que la relation..
Si vous avez des solutions...
Voici mon code actuellement :
Mon CSS..
Merci...
Je ne pense pas être dans le bon sujet de Forum.
J'ai rien à faire durant mon confinement alors je m'occupe... et je ne trouve pas de solutions
Je viens de créer une base de donnée.
Table 'seuils_alerte' avec les colonnes suivantes :
- une colonne pour indiquer le type de capteur (C0, CO2, TEMP, etc)
- une colonne pour le seuil mini
- une colonne pour le seuil maxi.
Et depuis ma page Web :
http://82.233.223.249:8088/seuils_alerte/alerte.php
J'aimerais :
- Par exemple capteur (CO) j'aimerais avoir 30 pour mini et 60 max, quand je fais valider.
ça me changer les valeurs dans la base de donnée en même temps.
J'ai déjà effectué la connexion avec la bdd.. il me manque plus que la relation..
Si vous avez des solutions...
Voici mon code actuellement :
<!DOCTYPE html> <html> <head> <title>Seuils_Alerte</title> <meta charset="utf-8"> <link rel="stylesheet" href="seuils.css" /> </head> <body> <p>Modification des seuils d'alertes : </p> <table> <tr> <td><b>Capteur</b></td> <td><b>Seuils_Mini</td> <td><b>Seuils_Max</b></td> </tr> <tr> <td>CO</td> <td><input type="text" name="name" minlength="4" maxlength="8" size="10"></td> <td><input type="text" name="name" minlength="4" maxlength="8" size="10"></td> </tr> <tr> <td>BAT</td> <td><input type="text" name="name" minlength="4" maxlength="8" size="10"></td> <td><input type="text" name="name" minlength="4" maxlength="8" size="10"></td> </tr> <tr> <td>STR</td> <td><input type="text" name="name" minlength="4" maxlength="8" size="10"></td> <td><input type="text" name="name" minlength="4" maxlength="8" size="10"></td> </tr> <tr> <td>LUX</td> <td><input type="text" name="name" minlength="4" maxlength="8" size="10"></td> <td><input type="text" name="name" minlength="4" maxlength="8" size="10"></td> </tr> <tr> <td>CO2</td> <td><input type="text" name="name" minlength="4" maxlength="8" size="10"></td> <td><input type="text" name="name" minlength="4" maxlength="8" size="10"></td> </tr> <tr> <td>PIR</td> <td><input type="text" name="name" minlength="4" maxlength="8" size="10"></td> <td><input type="text" name="name" minlength="4" maxlength="8" size="10"></td> </tr> <tr> <td>LP</td> <td><input type="text" name="name" minlength="4" maxlength="8" size="10"></td> <td><input type="text" name="name" minlength="4" maxlength="8" size="10"></td> </tr> <tr> <td>TC</td> <td><input type="text" name="name" minlength="4" maxlength="8" size="10"></td> <td><input type="text" name="name" minlength="4" maxlength="8" size="10"></td> </tr> <tr> <td>HUM</td> <td><input type="text" name="name" minlength="4" maxlength="8" size="10"></td> <td><input type="text" name="name" minlength="4" maxlength="8" size="10"></td> </tr> <tr> <td>PRES</td> <td><input type="text" name="name" minlength="4" maxlength="8" size="10"></td> <td><input type="text" name="name" minlength="4" maxlength="8" size="10"></td> </tr> <tr> <td>HALL</td> <td><input type="text" name="name" minlength="4" maxlength="8" size="10"></td> <td><input type="text" name="name" minlength="4" maxlength="8" size="10"></td> </tr> </table> </br> <input type="submit"> </body> <?php class Database { private $host = "xxxx.xxxxx"; private $username = "xxxxx"; private $password = "xxxxx"; private $database = "xxxx"; public $connection; public function getConnection() { $this->connection = null; try { $this->connection = new PDO("mysql:host=".$this->host.";dbname=".$this->database, $this->username, $this->password); $this->connection->exec("set names utf8"); } catch (PDOException $exception) { echo "Error: ".$exception->getMessage(); die(); } return $this->connection; } public function closeConnection() { $this->connection = null; } } ?> </html>
Mon CSS..
table{ border-collapse: collapse } td{ border: 1px solid black; padding: 10px; }
Merci...
Je ne pense pas être dans le bon sujet de Forum.
Configuration: Windows / Chrome 80.0.3987.149
A voir également:
- MySQL - Changement Web et Bdd
- Web office - Guide
- Changement dns - Guide
- Navigateur web - Guide
- Création site web - Guide
- K9 web protection - Télécharger - Contrôle parental
9 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
où fais-tu "valider"?
as-tu déjà fais des exercices plus simples avec php et des formulaires?
où fais-tu "valider"?
as-tu déjà fais des exercices plus simples avec php et des formulaires?
Bonjour,
Pour que tes données soient transmises à ton php, il faut les placer dans un FORM dans le quel tu choisi le "mode" de tansmission : soit GET, soit POST
Je te conseille le POST.
Il te faut ensuite récupérer les variables transmises en POST pour les utiliser dans tes requêtes SQL
Voici un petit tuto sur l'utilisation des form
https://www.commentcamarche.net/contents/793-php-recuperation-de-donnees
Je t'invite également à lire ET à appliquer les conseils donnés ici :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Ainsi que celui la :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
.
Pour que tes données soient transmises à ton php, il faut les placer dans un FORM dans le quel tu choisi le "mode" de tansmission : soit GET, soit POST
Je te conseille le POST.
Il te faut ensuite récupérer les variables transmises en POST pour les utiliser dans tes requêtes SQL
Voici un petit tuto sur l'utilisation des form
https://www.commentcamarche.net/contents/793-php-recuperation-de-donnees
Je t'invite également à lire ET à appliquer les conseils donnés ici :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Ainsi que celui la :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
.
<input type="submit"> -> ligne 88
Je suis en plein Projet, j'ai encore 2 mois pour finir ça..
C'est pour ça que j'ai besoin de vous pour m'aider sur cette exercice.
Si vous avez des idées, pour modifier mon code ou l'améliorer ?
Merci d'avance
Je suis en plein Projet, j'ai encore 2 mois pour finir ça..
C'est pour ça que j'ai besoin de vous pour m'aider sur cette exercice.
Si vous avez des idées, pour modifier mon code ou l'améliorer ?
Merci d'avance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ReBonjour à tous,
Alors depuis quelques jours j'ai beaucoup avancé sur mon code.
Mais je suis bloqué, je ne comprends pour ça ne marche pas.
Normalement ça devrais modifié les valeurs dans la BDD quand je valide sur la page...
http://82.233.223.249:8088/seuil_alerte/alerte.php
Concernant les erreurs PDO.. je le ferais plus tard.. je m'occupe que ça marche principalement..
Voici mon code :
Database.php :
Page alerte.php :
Code seuils.css :
Voilà, si vous avez des solutions ?
Merci d'avance
Alors depuis quelques jours j'ai beaucoup avancé sur mon code.
Mais je suis bloqué, je ne comprends pour ça ne marche pas.
Normalement ça devrais modifié les valeurs dans la BDD quand je valide sur la page...
http://82.233.223.249:8088/seuil_alerte/alerte.php
Concernant les erreurs PDO.. je le ferais plus tard.. je m'occupe que ça marche principalement..
Voici mon code :
Database.php :
<?php $SmCO=$_POST["SmCO"]; $SMCO=$_POST["SMCO"]; $SmBAT=$_POST["SmBAT"]; $SMBAT=$_POST["SMBAT"]; $SmSTR=$_POST["SmSTR"]; $SMSTR=$_POST["SMSTR"]; $SmLUX=$_POST["SmLUX"]; $SMLUX=$_POST["SMLUX"]; $SmCO2=$_POST["SmCO2"]; $SMCO2=$_POST["SMCO2"]; $SmPIR=$_POST["SmPIR"]; $SMPIR=$_POST["SMPIR"]; $SmLP=$_POST["SmLP"]; $SMLP=$_POST["SMLP"]; $SmTC=$_POST["SmTC"]; $SMTC=$_POST["SMTC"]; $SmHUM=$_POST["SmHUM"]; $SMHUM=$_POST["SMHUM"]; $SmPRES=$_POST["SmPRES"]; $SMPRES=$_POST["SMPRES"]; $SmHALL=$_POST["SmHALL"]; $SMHALL=$_POST["SMHALL"]; class Database { // on se connecte à MySQL $db = mysql_connect('xxxxxx', 'xxxxx', 'xxx'); // on sélectionne la base mysql_select_db('xxxxx',$db); //Envoie de la rêquetes à la base de donnée $mysqli->real_query(Update seuil_alertes SET seuil_mini = 'SmCO', seuil_max ='SMCO' Where Capteur='CO') or die("insertion impossible"); $mysqli->real_query(Update seuil_alertes set seuil_mini = 'SmBAT', seuil_max ='SMBAT' Where Capteur='BAT') or die("insertion impossible"); $mysqli->real_query(Update seuil_alertes set seuil_mini = 'SmSTR', seuil_max ='SMSTR' Where Capteur='STR') or die("insertion impossible"); $mysqli->real_query(Update seuil_alertes set seuil_mini = 'SmLUX', seuil_max ='SMLUX' Where Capteur='LUX') or die("insertion impossible"); $mysqli->real_query(Update seuil_alertes set seuil_mini = 'SmCO2', seuil_max ='SMCO2' Where Capteur='CO2') or die("insertion impossible"); $mysqli->real_query(Update seuil_alertes set seuil_mini = 'SmPIR', seuil_max ='SMPIR' Where Capteur='PIR') or die("insertion impossible"); $mysqli->real_query(Update seuil_alertes set seuil_mini = 'SmLP', seuil_max ='SMLP' Where Capteur='LP') or die("insertion impossible"); $mysqli->real_query(Update seuil_alertes set seuil_mini = 'SmTC', seuil_max ='SMTC' Where Capteur='TC') or die("insertion impossible"); $mysqli->real_query(Update seuil_alertes set seuil_mini = 'SmHUM', seuil_max ='SMHUM' Where Capteur='HUM') or die("insertion impossible"); $mysqli->real_query(Update seuil_alertes set seuil_mini = 'SmPRES', seuil_max ='SMPRES' Where Capteur='PRES') or die("insertion impossible"); $mysqli->real_query(Update seuil_alertes set seuil_mini = 'SmHALL', seuil_max ='SMHALL' Where Capteur='HALL') or die("insertion impossible"); $res = $mysqli->use_result(); error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); } ?>
Page alerte.php :
<!DOCTYPE html> <html> <head> <include 'Database.php'> <title>Seuils_Alerte</title> <meta charset="utf-8"> <link rel="stylesheet" href="seuils.css" /> </head> <body> <p>Modification des seuils d'alertes : </p> <form method="post"> <table> <tr> <td><b>Capteur</b></td> <td><b>Seuils_Mini</td> <td><b>Seuils_Max</b></td> </tr> <tr> <td>CO</td> <td><input type="text" name="SmCO" minlength="4" maxlength="8" size="10"></td> <td><input type="text" name="SMCO" minlength="4" maxlength="8" size="10"></td> </tr> <tr> <td>BAT</td> <td><input type="text" name="SmBAT" minlength="4" maxlength="8" size="10"></td> <td><input type="text" name="SMBAT" minlength="4" maxlength="8" size="10"></td> </tr> <tr> <td>STR</td> <td><input type="text" name="SmSTR" minlength="4" maxlength="8" size="10"></td> <td><input type="text" name="SMSTR" minlength="4" maxlength="8" size="10"></td> </tr> <tr> <td>LUX</td> <td><input type="text" name="SmLUX" minlength="4" maxlength="8" size="10"></td> <td><input type="text" name="SMLUX" minlength="4" maxlength="8" size="10"></td> </tr> <tr> <td>CO2</td> <td><input type="text" name="SmCO2" minlength="4" maxlength="8" size="10"></td> <td><input type="text" name="SMCO2" minlength="4" maxlength="8" size="10"></td> </tr> <tr> <td>PIR</td> <td><input type="text" name="SmPIR" minlength="4" maxlength="8" size="10"></td> <td><input type="text" name="SMPIR" minlength="4" maxlength="8" size="10"></td> </tr> <tr> <td>LP</td> <td><input type="text" name="SmLP" minlength="4" maxlength="8" size="10"></td> <td><input type="text" name="SMLP" minlength="4" maxlength="8" size="10"></td> </tr> <tr> <td>TC</td> <td><input type="text" name="SmTC" minlength="4" maxlength="8" size="10"></td> <td><input type="text" name="SMTC" minlength="4" maxlength="8" size="10"></td> </tr> <tr> <td>HUM</td> <td><input type="text" name="SmHUM" minlength="4" maxlength="8" size="10"></td> <td><input type="text" name="SMHUM" minlength="4" maxlength="8" size="10"></td> </tr> <tr> <td>PRES</td> <td><input type="text" name="SmPRES" minlength="4" maxlength="8" size="10"></td> <td><input type="text" name="SMPRES" minlength="4" maxlength="8" size="10"></td> </tr> <tr> <td>HALL</td> <td><input type="text" name="SmHALL" minlength="4" maxlength="8" size="10"></td> <td><input type="text" name="SMHALL" minlength="4" maxlength="8" size="10"></td> </tr> </table> </br> <input type="submit"> </form> </br> </body> </html>
Code seuils.css :
table{ border-collapse: collapse } td{ border: 1px solid black; padding: 10px; }
Voilà, si vous avez des solutions ?
Merci d'avance
D'accord, je vais m'occuper des erreurs PDO tout de suite alors.. et je verrais les réponses en cas d'erreurs avec la BDD.
Après avoir finis l'installation PDO je reviens vers vous.
Après avoir finis l'installation PDO je reviens vers vous.
Il n'y a pas que les erreurs PDO à gérer... il y a aussi
Je t'invite également à lire ET à appliquer les conseils donnés ici :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Si j'ai bien suivis les indications..
Ma classe Database...
Pas de résultat sur ma page web..
Ma classe Database...
Pas de résultat sur ma page web..
class Database { private $host = "xxxxx"; private $username = "xxxxx"; private $password = "xxxxx"; private $database = "xxxxx"; public $connexion; function __construct(){ $this->getconnexion(); } public function getconnexion() { $this->connexion = null; try { $this->connexion = new PDO("mysql:host=".$this->host.";dbname=".$this->database .';charset=utf8', $this->username, $this->password); // Activation des erreurs PDO $this->connexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // mode de fetch par défaut : FETCH_ASSOC / FETCH_OBJ / FETCH_BOTH $this->connexion->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); } catch (PDOException $exception) { echo "Error: ".$exception->getMessage(); die(); } return $this->connexion; } public function closeconnexion() { $this->connexion = null; } //Envoie de la rêquetes à la base de donnée $mysqli->real_query(Update seuil_alertes SET seuil_mini = 'SmCO', seuil_max ='SMCO' Where Capteur='CO') or die("insertion impossible"); $mysqli->real_query(Update seuil_alertes set seuil_mini = 'SmBAT', seuil_max ='SMBAT' Where Capteur='BAT') or die("insertion impossible"); $mysqli->real_query(Update seuil_alertes set seuil_mini = 'SmSTR', seuil_max ='SMSTR' Where Capteur='STR') or die("insertion impossible"); $mysqli->real_query(Update seuil_alertes set seuil_mini = 'SmLUX', seuil_max ='SMLUX' Where Capteur='LUX') or die("insertion impossible"); $mysqli->real_query(Update seuil_alertes set seuil_mini = 'SmCO2', seuil_max ='SMCO2' Where Capteur='CO2') or die("insertion impossible"); $mysqli->real_query(Update seuil_alertes set seuil_mini = 'SmPIR', seuil_max ='SMPIR' Where Capteur='PIR') or die("insertion impossible"); $mysqli->real_query(Update seuil_alertes set seuil_mini = 'SmLP', seuil_max ='SMLP' Where Capteur='LP') or die("insertion impossible"); $mysqli->real_query(Update seuil_alertes set seuil_mini = 'SmTC', seuil_max ='SMTC' Where Capteur='TC') or die("insertion impossible"); $mysqli->real_query(Update seuil_alertes set seuil_mini = 'SmHUM', seuil_max ='SMHUM' Where Capteur='HUM') or die("insertion impossible"); $mysqli->real_query(Update seuil_alertes set seuil_mini = 'SmPRES', seuil_max ='SMPRES' Where Capteur='PRES') or die("insertion impossible"); $mysqli->real_query(Update seuil_alertes set seuil_mini = 'SmHALL', seuil_max ='SMHALL' Where Capteur='HALL') or die("insertion impossible"); $res = $mysqli->use_result(); error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); }
- Les instructions qui permettent d'afficher les erreurs PHP se placent AU DEBUT du script pas à la fin.
- Tu as des instructions en mysqli ... alors que ta connexion est en PDO
- Tu as des instructions placées à la fin de ta class... qui ne devraient pas se trouver DANS la class (ou alors, dans une fonction.. pas posées là comme ça au pif ! )
- Tu as des instructions en mysqli ... alors que ta connexion est en PDO
- Tu as des instructions placées à la fin de ta class... qui ne devraient pas se trouver DANS la class (ou alors, dans une fonction.. pas posées là comme ça au pif ! )
En vrai je craque.. ça fais quelques jours que je suis déçu j'ai vraiment envie que ça se termine.
Alors si vous avez la gentillesse de me le faire ?
Je sais que c'est pas bien... mais à un moment..
Alors si vous avez la gentillesse de me le faire ?
Je sais que c'est pas bien... mais à un moment..
Je ne sais pas si tu craques... mais je ne vais pas tarder non plus à craquer......
Je t'ai donné, dans une de tes précédente question un code pour ta class Database et qui montre également comment utiliser l'affichage des erreurs php...
Pour rappel : https://forums.commentcamarche.net/forum/affich-36538219-sql-php-2-requetes-probleme
Autant, une personne qui pose une question et qui a du mal à comprendre.. ok... mais quand il a déjà eu des réponses de notre part et qu'il ne fait aucun effort pour en tenir compte.. franchement... pourquoi s'embêter à continuer à l'aider. Quelle perte de temps !
Quoi qu'il en soit, comme je ne veux pas être la cause de ton craquage .. voila à quoi ton code devrait ressembler.
Je t'ai donné, dans une de tes précédente question un code pour ta class Database et qui montre également comment utiliser l'affichage des erreurs php...
Pour rappel : https://forums.commentcamarche.net/forum/affich-36538219-sql-php-2-requetes-probleme
Autant, une personne qui pose une question et qui a du mal à comprendre.. ok... mais quand il a déjà eu des réponses de notre part et qu'il ne fait aucun effort pour en tenir compte.. franchement... pourquoi s'embêter à continuer à l'aider. Quelle perte de temps !
Quoi qu'il en soit, comme je ne veux pas être la cause de ton craquage .. voila à quoi ton code devrait ressembler.
<?php /** Fichier Database.php Class de connexion à la bdd */ class Database { private $host = "xxxxxx"; private $username = "yyyyy"; private $password = "yyyy"; private $database = "yyyyyyyyyyyyyyyy"; public $connexion; function __construct(){ $this->getconnexion(); } public function getconnexion() { $this->connexion = null; try { $this->connexion = new PDO("mysql:host=".$this->host.";dbname=".$this->database .';charset=utf8', $this->username, $this->password); // Activation des erreurs PDO $this->connexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // mode de fetch par défaut : FETCH_ASSOC / FETCH_OBJ / FETCH_BOTH $this->connexion->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); } catch (PDOException $exception) { echo "Error: ".$exception->getMessage(); die(); } return $this->connexion; } public function closeconnexion() { $this->connexion = null; } /** Execution d'une requete preparee */ public function db_Exec($sql,$datas=NULL){ //Execution de la requete try{ $requete = $this->connexion->prepare($sql) ; $requete->execute($datas) ; }catch(Exception $e){ // en cas d'erreur : echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); exit; } return $requete; } /** Requête SELECT @sql string @datas array @return Array */ public function db_All($sql,$datas=NULL){ $req = $this->db_Exec($sql,$datas); return $req->fetchAll(); } }
<?php /** Fichier : Capteur.php Class pour gérer les capteurs - extends de la class DataBase */ class Capteur extends Database{ function __construct(){ parent::__construct(); //appel le constructeur du parent } public function update_SeuilAlertes($seuilMini=0,$seuilMaxi=0,$capteur=NULL){ $sql = "UPDATE seuil_alertes SET seuil_mini = :seuilMini , seuil_max = :seuilMaxi WHERE Capteur=:capteur"; $datas = array(':seuilMini'=>$seuilMini ,':seuilMaxi'=>$seuilMaxi ,':capteur'=>$capteur ); return parent::db_Exec($sql,$datas); } }
<?php /** Script de mise à jour des capteurs - Besoin d'inclure la class Database - et la classe Capteur */ //Affichage des erreurs PHP error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); //class de connexion à la bdd require_once 'Database.php'; require_once 'Capteur.php'; // on instancie la class Capteur $oCapteur = new Capteur(); // si la MAJ ne fonctionne toujours pas, // décommente la ligne en dessous et montre nous : // print_r($_POST); //récupération PROPRE DES VALEURS AVANT DE LES UTILISER $SmCO_min= !empty($_POST["SmCO"]) ? $_POST["SmCO"] : NULL; $SmCO_max= !empty($_POST["SMCO"]) ? $_POST["SMCO"] : NULL; $SmBAT_min= !empty($_POST["SmBAT"]) ? $_POST["SmBAT"] : NULL; $SmBAT_max= !empty($_POST["SMBAT"]) ? $_POST["SMBAT"] : NULL; //etc... //mise à jour des données : if($SmCO_min && $SmCO_max){ $oCapteur->update_SeuilAlertes($SmCO_min,$SmCO_max,'CO'); } if($SmBAT_min && $SmBAT_max){ $oCapteur->update_SeuilAlertes($SmBAT_min,$SmBAT_max,'BAT'); } //etc... ?>