Bonjour,
Je souhaite mettre à jour une requête qui inclue déjà la sélection de la dernière date existante, après l'éventuelle sélection d'une nouvelle date.
J'ai posé mon contrôle "input type="date" ..." dans mon menu, et maintenant j'avoue que je suis un peu dépassé.
1 - A priori il faut capturer la mise à jour (la sélection) de la date et la passer.. ? (euh... à une variable php ? En passant par un script javascript OnChange j'ai cru deviner)
2 - Ensuite il faut mettre un if pour tester :
si pas de sélection WHERE snap_date=(SELECT MAX(snap_date) FROM datas_camions)
si une sélection, WHERE snap_date=(SELECT (snap_date="date_selectionnee") FROM datas_camions)
Merci pour un peu d'aide, je ne suis pas contre, car je sens que je me lance dans une tâche triple et j'avance péniblement.
mon menu de navigation :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
<body>
<!-- menu -->
<ul>
<li><a class="active" href="#home">Traceur d'immatriculations</a></li>
<li class="dropdown">
<a href="javascript:void(0)" class="dropbtn">Autre date</a>
<div class="dropdown-content">
<a href="#archive"><input type="date" name="snap_select"></a>
</div>
</li>
<li class="dropdown">
<a href="javascript:void(0)" class="dropbtn">Contact</a>
<div class="dropdown-content">
...
... |
la génération de la requête existante (filtre sur la dernière date) plus loin dans la même page (index.php) :
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
|
<!-- array generation -->
<?php
echo $snap_select;
// en tête de tableau
echo "<table style='border: solid 1px grey;'>";
echo "<tr>
<th>date</th>
<th>heure</th>
<th>immat</th>
<th>Photo</th>
<th>Benne</th>
</tr>";
$servername = "localhost";
$username = "login";
$password = "password";
$dbname = "base";
$chem_snaps = "/media/";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// requete pour contenu du tableau
$stmt = $conn->prepare("SELECT DATE_FORMAT(snap_date, '%d/%m/%Y') AS date,
DATE_FORMAT(snap_heure, '%H h %i min %s s') AS heure,
DATE_FORMAT(snap_date, '%Y/%Y-%m/%Y-%m-%d/') AS snap_dir,
immat, path_file
FROM datas_camions
WHERE snap_date=(SELECT MAX(snap_date) FROM datas_camions)
ORDER BY snap_date, snap_heure DESC");
$stmt->execute();
// On affiche le resultat
while ($donnees = $stmt->fetch())
{
//On affiche les données dans le tableau
$benne = substr($donnees[path_file], 6);
echo "<tr>";
echo "<td> $donnees[date] </td>";
echo "<td> $donnees[heure] </td>";
... |
et ainsi de suite pour générer le tableau...
Partager