par
binousha_1022 » 22 juil. 2020, 15:42
Bonjour, j'ai une liste de tableau qui contient des commandes dont on doit valider la réception et la transmission.L'utilisateur doit cocher les cases des commandes à envoyer, remplir les date de réception et de transmission, remplir la péniche pour chaque commande cochée et le programme doit mettre à jour la table en fonction du numerocompte. Le soucis est au moment de mise à jour le programme enregistre la dernière péniche sur toutes les commandes cochées.
Voici le code:
Code : Tout sélectionner
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Recherche</title>
<style>
table{width:100%;border-collapse:collapse}
table tr,table th,table td{border:1px solid black;}
table tr td{text-align:center;padding:1em;}
</style>
</head>
<body>
<?php include('connection_database.php');?>
<form method='post' action='#'>
<label for="date_reception_log">Date réception : </label>
<input type='date' placeholder='date_reception_log' name="date_reception_log"/>
<label for="date_transmission_at">Date transmission : </label>
<input type='date' placeholder='date_transmission_at' name="date_transmission_at"/>
<input type='submit' value="Envoyer" name="Envoyer"/>
<table>
<thead>
<tr>
<th>Choisir</th>
<th>Agence</th>
<th>Nom de l'agent</th>
<th>Date Commande</th>
<th>Prénom</th>
<th>Nom</th>
<th>N°Compte</th>
<th>Monture</th>
<th>Péniche</th>
</th>
</tr>
</thead>
<tbody>
<?php
$sql='select * from commande WHERE date_reception_log IS NULL AND date_transmission_log IS NOT NULL';
$params=[];
$resultats=$connect->prepare($sql);
$resultats->execute($params);
if($resultats->rowCount()>0){
while($d=$resultats->fetch(PDO::FETCH_ASSOC)){
?>
<tr>
<td><input type='checkbox' name='listeCmd[]' value="<?php echo $d['numerocompte']; ?>"></td>
<td><?=$d['agence']?></td>
<td><?=$d['nomagent']?></td>
<td><?=$d['datecommande']?></td>
<td><?=$d['prenom']?></td>
<td><?=$d['nom']?></td>
<td><?=$d['numerocompte']?></td>
<td><?=$d['monture']?></td>
<td><input type='varchar' id="peniche" name="peniche" value="<?php echo $d['peniche']; ?>"></td></tr>
<?php
}
$resultats->closeCursor();
}
else echo '<tr><td colspan=4>aucun résultat trouvé</td></tr>'.
$connect=null;
?>
</tbody>
</table>
</form>
<?php
if(isset($_POST['Envoyer']))
{
try{
$serveur = "localhost";
$dbname = "suivicommande";
$user = "root";
$pass = "";
$date_reception_log = $_POST["date_reception_log"];
$date_transmission_at = $_POST["date_transmission_at"];
$peniche = $_POST["peniche"];
$lesNumeroCompte;
echo 'date 1 ' .$_POST["date_reception_log"];
echo 'date 2 ' .$_POST["date_transmission_at"];
echo 'peniche ' .$_POST["peniche"];
if(!isset($_POST['date_reception_log']) || $_POST['date_reception_log']==''){
echo '<script>alert("Veuillez saisir la date reception")</script>';
return;
}
if(!isset($_POST['date_transmission_at']) || $_POST['date_transmission_at']==''){
echo '<script>alert("Veuillez saisir la date transmission")</script>';
return;
}
if(!isset($_POST['peniche']) || $_POST['peniche']==''){
echo '<script>alert("Veuillez saisir la péniche SVP")</script>';
return;
}
if(empty($_POST["listeCmd"])){
echo '<script>alert("Veuillez choisir une commande")</script>';
return;
}
else{
$lesNumeroCompte = $_POST["listeCmd"];
}
$liste = "(";
//On se connecte à la BDD
$dbco = new PDO("mysql:host=$serveur;dbname=$dbname",$user,$pass);
$dbco->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//On insère les données reçues
echo 'date_reception_log : '.$date_reception_log;
echo 'date_transmission_at : '.$date_transmission_at;
echo 'peniche : '.$peniche;
// on cree la liste des id que l'on doit mettre à jour
foreach ($lesNumeroCompte as $numerocompte) {
echo 'aaaaa ' . $numerocompte;
$liste .= "'". $numerocompte . "',";
}
$liste = substr($liste, 0, -1);
$liste .= ")";
echo 'liste : '.$liste;
$sth = $dbco->prepare("
UPDATE commande
SET date_reception_log=:date_reception_log, date_transmission_at=:date_transmission_at, peniche=:peniche
WHERE numerocompte in " .$liste );
$sth->bindParam(':date_reception_log',$date_reception_log,PDO::PARAM_STR);
$sth->bindParam(':date_transmission_at',$date_transmission_at,PDO::PARAM_STR);
$sth->bindParam(':peniche',$peniche,PDO::PARAM_STR);
// $sth->bindParam(':numerocompte',$liste,PDO::PARAM_STR);
$sth->execute();
//On renvoie l'utilisateur vers la page de remerciement
header("Location:espacelogistique.php");
}
catch(PDOException $e){
echo 'Impossible de traiter les données. Erreur : '.$e->getMessage();
}
}
?>
</body>
</html>
Merci d'avance!
Bonjour, j'ai une liste de tableau qui contient des commandes dont on doit valider la réception et la transmission.L'utilisateur doit cocher les cases des commandes à envoyer, remplir les date de réception et de transmission, remplir la péniche pour chaque commande cochée et le programme doit mettre à jour la table en fonction du numerocompte. Le soucis est au moment de mise à jour le programme enregistre la dernière péniche sur toutes les commandes cochées.
Voici le code:
[code]<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Recherche</title>
<style>
table{width:100%;border-collapse:collapse}
table tr,table th,table td{border:1px solid black;}
table tr td{text-align:center;padding:1em;}
</style>
</head>
<body>
<?php include('connection_database.php');?>
<form method='post' action='#'>
<label for="date_reception_log">Date réception : </label>
<input type='date' placeholder='date_reception_log' name="date_reception_log"/>
<label for="date_transmission_at">Date transmission : </label>
<input type='date' placeholder='date_transmission_at' name="date_transmission_at"/>
<input type='submit' value="Envoyer" name="Envoyer"/>
<table>
<thead>
<tr>
<th>Choisir</th>
<th>Agence</th>
<th>Nom de l'agent</th>
<th>Date Commande</th>
<th>Prénom</th>
<th>Nom</th>
<th>N°Compte</th>
<th>Monture</th>
<th>Péniche</th>
</th>
</tr>
</thead>
<tbody>
<?php
$sql='select * from commande WHERE date_reception_log IS NULL AND date_transmission_log IS NOT NULL';
$params=[];
$resultats=$connect->prepare($sql);
$resultats->execute($params);
if($resultats->rowCount()>0){
while($d=$resultats->fetch(PDO::FETCH_ASSOC)){
?>
<tr>
<td><input type='checkbox' name='listeCmd[]' value="<?php echo $d['numerocompte']; ?>"></td>
<td><?=$d['agence']?></td>
<td><?=$d['nomagent']?></td>
<td><?=$d['datecommande']?></td>
<td><?=$d['prenom']?></td>
<td><?=$d['nom']?></td>
<td><?=$d['numerocompte']?></td>
<td><?=$d['monture']?></td>
<td><input type='varchar' id="peniche" name="peniche" value="<?php echo $d['peniche']; ?>"></td></tr>
<?php
}
$resultats->closeCursor();
}
else echo '<tr><td colspan=4>aucun résultat trouvé</td></tr>'.
$connect=null;
?>
</tbody>
</table>
</form>
<?php
if(isset($_POST['Envoyer']))
{
try{
$serveur = "localhost";
$dbname = "suivicommande";
$user = "root";
$pass = "";
$date_reception_log = $_POST["date_reception_log"];
$date_transmission_at = $_POST["date_transmission_at"];
$peniche = $_POST["peniche"];
$lesNumeroCompte;
echo 'date 1 ' .$_POST["date_reception_log"];
echo 'date 2 ' .$_POST["date_transmission_at"];
echo 'peniche ' .$_POST["peniche"];
if(!isset($_POST['date_reception_log']) || $_POST['date_reception_log']==''){
echo '<script>alert("Veuillez saisir la date reception")</script>';
return;
}
if(!isset($_POST['date_transmission_at']) || $_POST['date_transmission_at']==''){
echo '<script>alert("Veuillez saisir la date transmission")</script>';
return;
}
if(!isset($_POST['peniche']) || $_POST['peniche']==''){
echo '<script>alert("Veuillez saisir la péniche SVP")</script>';
return;
}
if(empty($_POST["listeCmd"])){
echo '<script>alert("Veuillez choisir une commande")</script>';
return;
}
else{
$lesNumeroCompte = $_POST["listeCmd"];
}
$liste = "(";
//On se connecte à la BDD
$dbco = new PDO("mysql:host=$serveur;dbname=$dbname",$user,$pass);
$dbco->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//On insère les données reçues
echo 'date_reception_log : '.$date_reception_log;
echo 'date_transmission_at : '.$date_transmission_at;
echo 'peniche : '.$peniche;
// on cree la liste des id que l'on doit mettre à jour
foreach ($lesNumeroCompte as $numerocompte) {
echo 'aaaaa ' . $numerocompte;
$liste .= "'". $numerocompte . "',";
}
$liste = substr($liste, 0, -1);
$liste .= ")";
echo 'liste : '.$liste;
$sth = $dbco->prepare("
UPDATE commande
SET date_reception_log=:date_reception_log, date_transmission_at=:date_transmission_at, peniche=:peniche
WHERE numerocompte in " .$liste );
$sth->bindParam(':date_reception_log',$date_reception_log,PDO::PARAM_STR);
$sth->bindParam(':date_transmission_at',$date_transmission_at,PDO::PARAM_STR);
$sth->bindParam(':peniche',$peniche,PDO::PARAM_STR);
// $sth->bindParam(':numerocompte',$liste,PDO::PARAM_STR);
$sth->execute();
//On renvoie l'utilisateur vers la page de remerciement
header("Location:espacelogistique.php");
}
catch(PDOException $e){
echo 'Impossible de traiter les données. Erreur : '.$e->getMessage();
}
}
?>
</body>
</html>
[/code]
Merci d'avance!