I am currently on a project of "to do list" with a SQL database. Here is my problem; When I add the new tasks, it appears in the to-do list and also in the database with status 0 (to do). When I check the checkbox and I press the 'Done' button to make it go to the state of -> done, the state in the database changes (from 0 to 1), but on the other hand does not change any space in the web page to be visible in the archives. Could anyone help me please ? Here is a copy of my code;
in the html code on the part "New task", which makes it possible to display a new code for each new task entered;
<?php
$recu = $dtb->query("SELECT*FROM taches");
$recup = $recu->fetchAll();
foreach($recup as $value){
echo"<label class='tache'><input type='checkbox' name='ligne[]' value='".$value['ID']."'><p>".$value['Date1']." at ".$value['Date2']." and ".$value['Hour1']." at ".$value['Hour2']." : ".$value['Task']."</p></label><br/>";}
;?>
the part "Archives", does not contain a php code because I do not know what to tell it to do to display the task that has just been modified.
the code php ;
<?php
try {
$dtb = newPDO('mysql:host=localhost;dbname=todolist;charset=utf8', 'root', '' );
} catch(PDOException$machin){
echo$machin -> getMessage();
}
// if(isset($_POST["ajouter"])){
if(true){
$option = array(
'ligne' => FILTER_SANITIZE_STRING | FILTER_FLAG_NO_ENCODE_QUOTES | FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH | FILTER_FLAG_STRIP_BACKTICK | FILTER_FLAG_ENCODE_LOW | FILTER_FLAG_ENCODE_HIGH | FILTER_FLAG_ENCODE_AMP | FILTER_SANITIZE_NUMBER_INT,
'addnew' => FILTER_SANITIZE_STRING | FILTER_FLAG_NO_ENCODE_QUOTES | FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH | FILTER_FLAG_STRIP_BACKTICK | FILTER_FLAG_ENCODE_LOW | FILTER_FLAG_ENCODE_HIGH | FILTER_FLAG_ENCODE_AMP | FILTER_SANITIZE_NUMBER_INT,
'datea' => FILTER_SANITIZE_NUMBER_INT,
'dateb' => FILTER_SANITIZE_NUMBER_INT,
'hour1' => FILTER_SANITIZE_NUMBER_INT,
'hour2' => FILTER_SANITIZE_NUMBER_INT,
'ajouter' => FILTER_SANITIZE_STRING | FILTER_FLAG_NO_ENCODE_QUOTES | FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH | FILTER_FLAG_STRIP_BACKTICK | FILTER_FLAG_ENCODE_LOW | FILTER_FLAG_ENCODE_HIGH | FILTER_FLAG_ENCODE_AMP | FILTER_SANITIZE_NUMBER_INT,
'done' => FILTER_SANITIZE_STRING | FILTER_FLAG_NO_ENCODE_QUOTES | FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH | FILTER_FLAG_STRIP_BACKTICK | FILTER_FLAG_ENCODE_LOW | FILTER_FLAG_ENCODE_HIGH | FILTER_FLAG_ENCODE_AMP | FILTER_SANITIZE_NUMBER_INT,
'delete' => FILTER_SANITIZE_STRING | FILTER_FLAG_NO_ENCODE_QUOTES | FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH | FILTER_FLAG_STRIP_BACKTICK | FILTER_FLAG_ENCODE_LOW | FILTER_FLAG_ENCODE_HIGH | FILTER_FLAG_ENCODE_AMP | FILTER_SANITIZE_NUMBER_INT
);
$result = filter_input_array(INPUT_POST, $option);
$add = $result["addnew"];
$datea = $result["datea"];
$dateb = $result["dateb"];
$houra = $result["hour1"];
$hourb = $result["hour2"];
$aj = $result["ajouter"];
$don = $result["done"];
$del = $result["delete"];
$line = $result["ligne"];
if(isset($result) && !empty($result)){
if(isset($add) && isset($aj)){
$dtb->query('INSERTINTO taches (Date1, Date2, Hour1, Hour2, Task, Stat) VALUES ("'.$datea.'", "'.$dateb.'", "'.$houra.'", "'.$hourb.'", "'.$add.'", 0)');
}
if(isset($_POST['ligne']) && isset($don)){
$dtb->exec('UPDATE taches SET Stat=1WHERE ID='.$_POST['ID'].'');
}
if(isset($check) && isset($del)){
$dtb->query('DELETEFROM taches');
}
}
}
?>