Bonjour,

Alors voilà je me lance pour ma première question sur le forum. Je voudrais envoyer des valeurs (nombres) dans une base de données selon l'ID (correspondant au jour). En effet je dois ouvrir et fermer un portail selon des horaires prédéfinis par un responsable depuis le site web. Côté portail, je gère avec un Raspberry et python. Et une base données relie le côté web et "client".
Hors tout va bien quand je fais un print($variable) mais dès lors que je veux envoyer dans la BDD là rien ne se passe. A savoir aussi je travailler en mysqli non objet. J'aurais aimé avoir un peu d'aide car je débute en PHP et c'est un peu galère.

Code HTML pour le formulaire

<form method="post" action="">
        <center>
          <div class="jour">
              <select class="" name="day">
                <option value="1">Lundi</option>
                <option value="2">Mardi</option>
                <option value="3">Mercredi</option>
                <option value="4">Jeudi</option>
                <option value="5">Vendredi</option>
                <option value="6">Samedi</option>
                <option value="7">Dimanche</option>
              </select>
          </div>
        </center>

<br><br><br>

          <div class="def_heure_o">
            <input type="Numeric" name="heure_o" class="def_heure_o" maxlength="2">
          </div>

          <div class="def_minute_o">
            <input type="Numeric" name="minute_o" class="def_minute_o" maxlength="2">
          </div>

          <input type="submit" value="Enregistrer heure ouverture" name="submit">
</form>

Et ici le code PHP pour l'insert dans la BDD

<?php
include_once'inc/db.php';
if (isset($_POST['submit'])){
  if(!empty($_POST['heure_o'] && (!empty($_POST['minute_o']&& (!empty($_POST['day'])))))){
    $heure_o = $_POST['heure_o'];
    $minute_o = $_POST['minute_o'];
    $day = $_POST['day'];

    $sql = "INSERT INTO test (heure_o, minute_o)VALUES ('$heure_o', '$minute_o')  WHERE id = '$day'";

if (mysqli_query($con, $sql)) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($con);
}

mysqli_close($con);

  }else{
    print "Merci de remplir correctement !!";
  }

}
?>

En espérant que quelqu'un pourra m'aider parce que là je désespère :/

Merci d'avance,
iDezwin

6 réponses


Carouge10
Réponse acceptée

Bonsoir,
Un insert ne peut pas contenir de clause WHERE, voilà le problème.

iDezwin
Auteur

Bonsoir,
Merci de la réponse rapide, il faudrait faire un update ?

oui
par contre cela posera problème si le jour n'existe pas

iDezwin
Auteur

J'ai structuré au préalable ma db, merci beaucoup je vais essayer ça ;)

iDezwin
Auteur

Tout fonctionne correctement, merci beaucoup :) !!

INSERT sert à créer un nouvel enregistrement dans ta table, alors que UPDATE permet de modifier un enregistrement déjà présent, d'où la présence de la condition.