Récupération de données par tri
Salut,
J'ai un soucis avec ma requête de récupération. En effet, j'ai déjà élaboré une requête me permettant de récupérer tous les messages envoyés par mes clients dans ma bd et cela marche bien. Je veux maintenant faire des sélections spécifiques, c'est à dire:
1- Récupérer tous les messages reçus à une date donnée.
2 - Récupérer tous les messages envoyés par un client donné à une date donnée. Et cela en faisant une pagination.
Ci-dessous le code que j'ai élaboré pour la requête n°1, c'est à dire récupérer tous les messages reçus à une date donnée.
Code:
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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
| <div class="container">
<div class="row">
<section class="col-lg-12 col-md-12 col-sm-12 col-xm-12"> <!-- align="center" class="article_special" -->
<center><h1><b>LES DEVIS DEMANDES A UNE DATE DONNEE</b></h1></center>
<table border="1px"; width="1170px"; height="200px"; border="1" color="#999"; font-size="1em"; align="center">
<tr>
<td color="blue"><strong>Numero</strong></td>
<td><strong>Nom visiteur</strong></td>
<td><strong>Objet</strong></td>
<td><strong>Contacts</strong></td>
<td><strong>Email</strong></td>
<td><strong>Messages</strong></td>
<td><strong>Date d'envoi</strong></td>
</tr>
<?php
$messageParPage=2; //Nous allons afficher 5 messages par page.
//Une connexion SQL doit être ouverte avant cette ligne...
$retour_total=$bdd->query('SELECT COUNT(*) AS total FROM messages'); //Nous récupérons le contenu de la requête dans $retour_total
$donnees_total=$retour_total->fetch(PDO::FETCH_ASSOC);
$total=$donnees_total['total']; //On récupère le total pour le placer dans la variable $total.
//Nous allons maintenant compter le nombre de pages.
$nombreDePages=ceil($total/$messageParPage);
if(isset($_GET['page'])) // Si la variable $_GET['page'] existe...
{
$pageActuelle=intval($_GET['page']);
if($pageActuelle>$nombreDePages) // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages...
{
$pageActuelle=$nombreDePages;
}
}
else
{
$pageActuelle=1; // La page actuelle est la n°1
}
$premiereEntree=($pageActuelle-1)*$messageParPage; // On calcul la première entrée à lire
// La requête sql pour récupérer les messages de la page actuelle.
$req_retour_engins=$bdd->query('SELECT * FROM messages ORDER BY id_messages DESC LIMIT '.$premiereEntree.', '.$messageParPage.'');
if (!empty($_GET['date_envoi']))
{
$date_envoi = $_GET["date_envoi"];
$req = $bdd->prepare("SELECT id_messages, nom_visiteur, objet, contact, email, message, date_envoi FROM messages WHERE date_envoi LIKE ?");
$req->execute(array("%".$date_envoi."%"));
if($donnees = $req_retour_engins->fetch(PDO::FETCH_ASSOC))
{
do
{
?>
<tr>
<td>
<?php echo $donnees['id_messages']; ?>
</td>
<td>
<?php echo $donnees['nom_visiteur']; ?>
</td>
<td>
<?php echo $donnees['objet']; ?>
</td>
<td>
<?php echo $donnees['contact']; ?>
</td>
<td>
<?php echo $donnees['email']; ?>
</td>
<td>
<?php echo $donnees['message']; ?>
</td>
<td>
<?php echo date('d-m-Y', strtotime($donnees['date_envoi']) ); ?>
<?php //echo DATE_FORMAT(date_envoi, '%d-%m-%Y'); ?>
</td>
<?php
}
while($donnees = $req->fetch());
}
else
{
echo '<h3>Pas de résultat trouvé! <br><a href="administration.php"> RETOUR</a></h3>';
}
$req->closeCursor();
} else
{
echo "<h3>Saisir d'abord la date avant de la rechercher <a href='administration.php'>RETOUR</a></h3>";
}
?>
</tr>
</table>
<?php
echo '<center><p align="center"><b><b><br>Page :</b></b> '; //Pour l'affichage, on centre la liste des pages
for($i=1; $i<=$nombreDePages; $i++) //On fait notre boucle
{
//On va faire notre condition
if($i==$pageActuelle) //Si il s'agit de la page actuelle...
{
echo '<b><b> [ '.$i.' ] </b></b>';
}
else
{
echo ' <a href="liste-des-devis-demandes.php?page='.$i.'">'.$i.'</a> ';
}
}
echo '</p></center>';
$req_retour_engins->closeCursor();
?>
<a href="panneau.php"><h2>Retourner à l'administration</h2></a>
</section>
</div>
</div> |
Merci de votre aide.