Afficher une liste en fonction de l'année.
Fermé
Neodcb
-
2 mars 2014 à 13:01
Neodcb77 Messages postés 9 Date d'inscription dimanche 2 mars 2014 Statut Membre Dernière intervention 9 mars 2014 - 9 mars 2014 à 22:49
Neodcb77 Messages postés 9 Date d'inscription dimanche 2 mars 2014 Statut Membre Dernière intervention 9 mars 2014 - 9 mars 2014 à 22:49
A voir également:
- Afficher une liste en fonction de l'année.
- Liste déroulante excel - Guide
- Fonction si et - Guide
- Liste déroulante en cascade - Guide
- Afficher mot de passe wifi android - Guide
- Liste de diffusion whatsapp - Guide
8 réponses
flokocha
Messages postés
1510
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
10 octobre 2015
281
4 mars 2014 à 13:28
4 mars 2014 à 13:28
Si ta colonne 'date_effet' est du type date, datetime ou timestamp, il te suffit de faire ta requête comme suit :
SELECT YEAR(date_effet) AS annee, COUNT(*) AS nb_dossiers FROM gestion_assur_vehicule GROUP BY annee;
SELECT YEAR(date_effet) AS annee, COUNT(*) AS nb_dossiers FROM gestion_assur_vehicule GROUP BY annee;
Neodcb77
Messages postés
9
Date d'inscription
dimanche 2 mars 2014
Statut
Membre
Dernière intervention
9 mars 2014
4 mars 2014 à 21:24
4 mars 2014 à 21:24
Non la date n'est pas du type date. mais je vais vous faire un tableau:
ID num_dossier date_effet date_résiliation
1 254 2004-12-31 2007-01-10
2 642 2005-05-07 2007-01-20
3 123 2004-03-10 2006-05-20
4 645 2006-03-10 2008-01-01
5 310 2007-01-20 2009-02-01
donc la requête en français serait:
lister par année le nombre de dossier actif: pour le tableau ci dessus cela devrais donner:
2004 = 2 lien_vers_page.php qui vas afficher la liste des deux dossier de 2004
2005 = 3 lien_vers_page.php qui vas afficher la liste des deux dossier de 2005
2006 = 4 lien_vers_page.php qui vas afficher la liste des deux dossier de 2006
2007 = 4 lien_vers_page.php qui vas afficher la liste des deux dossier de 2007
2008 = 2 lien_vers_page.php qui vas afficher la liste des deux dossier de 2008
2009 = 1 lien_vers_page.php qui vas afficher la liste des deux dossier de 2009
et la requête qui afficherais tout les dossier de 2004 svp pour ma page qui vas afficher la liste des dossier en fonction de l'année.
Je vous remercie d'avance.
ID num_dossier date_effet date_résiliation
1 254 2004-12-31 2007-01-10
2 642 2005-05-07 2007-01-20
3 123 2004-03-10 2006-05-20
4 645 2006-03-10 2008-01-01
5 310 2007-01-20 2009-02-01
donc la requête en français serait:
lister par année le nombre de dossier actif: pour le tableau ci dessus cela devrais donner:
2004 = 2 lien_vers_page.php qui vas afficher la liste des deux dossier de 2004
2005 = 3 lien_vers_page.php qui vas afficher la liste des deux dossier de 2005
2006 = 4 lien_vers_page.php qui vas afficher la liste des deux dossier de 2006
2007 = 4 lien_vers_page.php qui vas afficher la liste des deux dossier de 2007
2008 = 2 lien_vers_page.php qui vas afficher la liste des deux dossier de 2008
2009 = 1 lien_vers_page.php qui vas afficher la liste des deux dossier de 2009
et la requête qui afficherais tout les dossier de 2004 svp pour ma page qui vas afficher la liste des dossier en fonction de l'année.
Je vous remercie d'avance.
flokocha
Messages postés
1510
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
10 octobre 2015
281
5 mars 2014 à 10:22
5 mars 2014 à 10:22
Et elle est de quel type, la date ? Il serait peut-être judicieux de la passer dans un type adéquat... Ne serait-ce que pour pouvoir utiliser les fonctions de date, et notamment en l'occurrence la fonction YEAR() qui est tout indiquée. Sinon tu peux faire la même chose avec un LEFT(date_effet, 4), mais c'est un peu bête...
Jean_Jacques
Messages postés
1040
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
1 août 2014
112
Modifié par Jean_Jacques le 5/03/2014 à 16:21
Modifié par Jean_Jacques le 5/03/2014 à 16:21
Bonjour,
Un select distinct devrait pouvoir faire l'affaire ....?
://sql.sh/cours/distinct
Cordialement
Un select distinct devrait pouvoir faire l'affaire ....?
://sql.sh/cours/distinct
Cordialement
flokocha
Messages postés
1510
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
10 octobre 2015
281
5 mars 2014 à 17:08
5 mars 2014 à 17:08
Un select distinct élimera les doublons au niveau des dates en elles-mêmes, et non des années.
Jean_Jacques
Messages postés
1040
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
1 août 2014
112
5 mars 2014 à 17:35
5 mars 2014 à 17:35
C'est juste !
Et je pressens que ton LEFT(date_effet, ) pourrait bien trouver à s'employer ...
Et je pressens que ton LEFT(date_effet, ) pourrait bien trouver à s'employer ...
Neodcb77
Messages postés
9
Date d'inscription
dimanche 2 mars 2014
Statut
Membre
Dernière intervention
9 mars 2014
5 mars 2014 à 17:48
5 mars 2014 à 17:48
flokocha ma date est de type varchar(300) et je ne sais pas la modifier car le code de beaucoup de page est déjà poser sur cette conception. (je sais ça me limite énormément)
Jean_Jacques : J'ai pas trop compris. désolé je suis un débutant qui apprend chaque jour.
Voila ce que j'ai pu composer:
qui affiche une erreur:
je pense que c'est du au fait que je lui demande deux condition en meme temps avec "and". Comment faire ?
Jean_Jacques : J'ai pas trop compris. désolé je suis un débutant qui apprend chaque jour.
Voila ce que j'ai pu composer:
$select = "select * from gestion_dos_client where date_effet between '2004-01-01' and '2004-12-31') and ( date_resiliation between '2004-01-01' and '2004-12-31')";
qui affiche une erreur:
Erreur : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') and ( date_resiliation between '2004-01-01' and '2004-12-31')' at line 1
je pense que c'est du au fait que je lui demande deux condition en meme temps avec "and". Comment faire ?
flokocha
Messages postés
1510
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
10 octobre 2015
281
5 mars 2014 à 17:54
5 mars 2014 à 17:54
On en revient toujours au même problème : tu ne peux pas utiliser "between ... and ..." avec une colonne de type varchar. Comment veux tu que mysql sache qu'une chaine de caractères est située entre deux autres ? Pour mysql, c'est comme si tu demandais si "chien" est compris entre "poule" et "chat". :)
D'où l'intérêt de travailler avec des dates... Mais si tu tiens absolument à rester sur du varchar, tu peux toujours faire ceci :
SELECT LEFT(date_effet, 4) AS annee, COUNT(*) AS nb_dossiers FROM gestion_assur_vehicule GROUP BY annee;
D'où l'intérêt de travailler avec des dates... Mais si tu tiens absolument à rester sur du varchar, tu peux toujours faire ceci :
SELECT LEFT(date_effet, 4) AS annee, COUNT(*) AS nb_dossiers FROM gestion_assur_vehicule GROUP BY annee;
Neodcb77
Messages postés
9
Date d'inscription
dimanche 2 mars 2014
Statut
Membre
Dernière intervention
9 mars 2014
5 mars 2014 à 18:30
5 mars 2014 à 18:30
heuu.... je vois pas comment la placer ou l'écrire complétement.
si j'ai bien compris ceci:
tu le modifie et fait ceci ? :
si j'ai bien compris ceci:
$select = "select * from gestion_assur_prevoyance where date_effet between '2004-01-01' and '2004-12-31' and date_resiliation between '2004-01-01' and '2004-12-31'";
tu le modifie et fait ceci ? :
$select = "SELECT LEFT(date_effet, 4) AS annee, COUNT(*) AS nb_dossiers FROM gestion_assur_vehicule GROUP BY annee";
flokocha
Messages postés
1510
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
10 octobre 2015
281
5 mars 2014 à 18:42
5 mars 2014 à 18:42
Oui mais ça t'affichera par contre le nombre de dossiers par année, et pas une liste de ceux-ci. C'est ce que tu demandes dans ton premier post.
Neodcb77
Messages postés
9
Date d'inscription
dimanche 2 mars 2014
Statut
Membre
Dernière intervention
9 mars 2014
5 mars 2014 à 19:14
5 mars 2014 à 19:14
voici mon code complet
<table cellpadding="0" cellspacing="0">
<tr>
<td width="990" height="224" align="left" valign="top" colspan="3">
<table class="cadre" width="100%" bgcolor="#FFFFCC">
<tr>
<td width="986">
<p><b><span style="font-size:11pt;"> RESULTAT DE LA RECHERCHE: FIN DE CONTRAT VEHICULE DANS MOIN DE 60 JOURS</span></b></p>
</td>
</tr>
<tr>
<td width="986" height="290" align="left" valign="top">
<div style="width:986px; height:610px; background-color:rgb(255,255,255); overflow:auto; border:solid 1px black;">
<?php
$limite=$_GET['limite'];
$nombre = 20; // on va afficher 5 résultats par page.
if (!isset($limite)) $limite = 0; // si on arrive sur la page pour la première fois
// on met limite à 0.
$path_parts = pathinfo($_SERVER['PHP_SELF']);
$page = $path_parts['basename'];
$limitesuivante = $limite + $nombre;
$limiteprecedente = $limite - $nombre;
function displayNextPreviousButtons($limite,$total,$nombre,$page) {
$limitesuivante = $limite + $nombre;
$limiteprecedente = $limite - $nombre;
echo '<table><tr>'."\n";
if($limite != 0) {
echo '<td valign="top">'."\n";
echo '<form action="'.$page.'" method="post">'."\n";
echo '<input type="submit" value="précédents">'."\n";
echo '<input type="hidden" value="'.$limiteprecedente.'" name="limite">'."\n";
echo '</form>'."\n";
echo '</td>'."\n";
}
if($limiteSuivante < $total) {
echo '<td valign="top">'."\n";
echo '<form action="'.$page.'" method="post">'."\n";
echo '<input type="submit" value="suivants">'."\n";
echo '<input type="hidden" value="'.$limitesuivante.'" name="limite">'."\n";
echo '</form>'."\n";
echo '</td>'."\n";
}
echo '</tr></table>'."\n";
}
function affichePages($nombre,$page,$total) {
$nbpages=ceil($total/$nombre);
$numeroPages = 1;
$compteurPages = 1;
$limite = 0;
//echo '<table border = "0" ><tr>'."\n";
while($numeroPages <= $nbpages) {
// echo '<td ><a href = "'.$page.'?limite='.$limite.'">'.$numeroPages.'/'.$nbpages.'</a></td>'."\n";
$limite = $limite + $nombre;
$numeroPages = $numeroPages + 1;
$compteurPages = $compteurPages + 1;
if($compteurPages == 20) {
$compteurPages = 1;
echo ''."\n";
}
}
// echo '</tr></table>'."\n";
echo ''.$nbpages.'';
}
//$select = "SELECT count(id) FROM gestion_assur_vehicule WHERE validite_contrat='En cours' AND NOW() BETWEEN DATE_ADD(date_deffet, INTERVAL 305 DAY) AND DATE_ADD(date_deffet, INTERVAL 368 DAY)";
//$select = "SELECT count(id) FROM gestion_assur_vehicule WHERE validite_contrat='En cours' AND DATE_FORMAT(date_deffet, '%m-%d') > DATE_FORMAT(NOW(), '%m-%d') AND DATE_FORMAT(date_deffet, '%m-%d') < DATE_FORMAT(NOW() + INTERVAL 60 DAY, '%m-%d')";
//$select = "select * from gestion_assur_prevoyance where date_effet between '2004-01-01' and '2004-12-31' and date_resiliation between '2004-01-01' and '2004-12-31'";
//SELECT LEFT(date_effet, 4) AS annee, COUNT(*) AS nb_dossiers FROM gestion_assur_vehicule GROUP BY annee;
$select = "SELECT LEFT(date_effet, 4) AS annee, COUNT(*) AS nb_dossiers FROM gestion_assur_vehicule GROUP BY annee;";
$result = mysql_query($select,$db) or die ('Erreur : '.mysql_error() );
$row = mysql_fetch_row($result);
$total = $row[0];
//$select = "select * FROM gestion_assur_vehicule WHERE validite_contrat='En cours' AND NOW() BETWEEN DATE_ADD(date_deffet, INTERVAL 305 DAY) AND DATE_ADD(date_deffet, INTERVAL 368 DAY) ORDER BY id ASC limit $limite,$nombre";
//$select = "SELECT * FROM gestion_assur_vehicule WHERE validite_contrat='En cours' AND DATE_FORMAT(date_deffet, '%m-%d') > DATE_FORMAT(NOW(), '%m-%d') AND DATE_FORMAT(date_deffet, '%m-%d') < DATE_FORMAT(NOW() + INTERVAL 60 DAY, '%m-%d') ORDER BY DATE_FORMAT(date_deffet, '%m-%d') ASC limit $limite,$nombre";
$select = "select * from gestion_assur_prevoyance where date_effet between '2004-01-01' and '2004-12-31' and date_resiliation between '2004-01-01' and '2004-12-31' ORDER BY DATE_FORMAT(date_deffet, '%m-%d') ASC limit $limite,$nombre";
$result = mysql_query($select,$db) or die ('Erreur : '.mysql_error() );
function CompteReboursAvant($evenement)
{
$evenement = explode('-', $evenement);
// secondes entre le 1er janv. 1970 et la date de l'evenement
$evenement = (mktime(23,59,59,$evenement[1],$evenement[0],$evenement[2]));
// secondes entre le 1er janv. 1970 et aujourd'hui
$aujourdhui = time(void);
// secondes entre aujourd'hui et l'evenement
$secondes = $evenement - $aujourdhui;
// on divise pour avoir en jour(s)
$jours = $secondes / 86400;
// on arrondi à l'entier inferieur
$jours = floor($jours);
// valeur de retour de la fonction
return $jours;
}
if($total) {
// début du tableau
echo '<table bgcolor="#FFFFFF" border="1" width="986">'."\n";
// première ligne on affiche les titres prénom et surnom dans 2 colonnes
echo '<tr>';
echo '<td width="12"><p> </p></td>';
echo '<td width="190" bgcolor="#FFCC66"><b>N° de dossier client:</b></td>';
echo '<td width="80" bgcolor="#FFCC66"><p><b>Type</b></p></td>';
echo '<td width="340" bgcolor="#FFCC66"><p><b>Marque véhicule et modele</b></p></td>';
echo '<td bgcolor="#FFCC66"><p><b>Nbr de j restant</b></p></td>';
echo '<td align="right" bgcolor="#FFCC66"><p><b>Date de debut</b></p></td>';
echo '<td align="right" bgcolor="#FFCC66"><p><b>Vali Contr</b></p></td>';
echo '<td width="10"><p> </p></td>';
echo '</tr>'."\n";
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_array($result)) {
echo '<tr>';
echo '<td width="12"><p> </p></td>';
echo '<td width="190"><a href="fiche_assur_vehicule.php?id='.$row['num_dos_client'].'&asa='.$row['id'].'"><b>N° dos assurance: '.$row['id'].'</b></a></td>';
echo '<td width="80"><p>'.$row['type_vehicule'].'</p></td>';
echo '<td width="340"><p>'.$row['marque_vehicule'].' '.$row['modele_vehicule'].'</p></td>';
$anaumoinun = date("Y", strtotime("-1 year"));
$event_dates = date("d-m-$anaumoinun", strtotime($row['date_deffet']));
$event_datess = date("d-m-Y", strtotime($event_dates));
$event_date = date("d-m-Y", strtotime("+1 year", strtotime($event_datess."-01" )));
//echo $event_date; afiche la date a l'endroit
$nbre_de_jours = CompteReboursAvant($event_date);
echo '<td><p><i>Il reste '.$nbre_de_jours.' jour(s)</i></p></td>';
echo '<td align="right"><p>'.$row['date_deffet'].'</p></td>';
echo '<td align="right"><p>'.$row['validite_contrat'].'</p></td>';
echo '<td width="10"><p> </p></td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
if($total > $nombre) {
?><p align="center"><?php
if($limite != 0) {
echo '<a href="'.$page.'?limite='.$limiteprecedente.'">Page précédente</a> - ';
}
else
{
echo 'Page précédente - ';
}
// affichage des liens vers les pages
$resa = $limite + $nombre;
$resb = $resa / $nombre;
echo 'page '.$resb.' / ';
affichePages($nombre,$page,$total);
// affichage des boutons
if($limitesuivante < $total) {
echo ' - <a href="'.$page.'?limite='.$limitesuivante.'">Page Suivante</a>';
}
else
{
echo ' - Page Suivante';
}
?></p><?php
}
// fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';
// on libère le résultat
mysql_free_result($result);
?>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</code>
<table cellpadding="0" cellspacing="0">
<tr>
<td width="990" height="224" align="left" valign="top" colspan="3">
<table class="cadre" width="100%" bgcolor="#FFFFCC">
<tr>
<td width="986">
<p><b><span style="font-size:11pt;"> RESULTAT DE LA RECHERCHE: FIN DE CONTRAT VEHICULE DANS MOIN DE 60 JOURS</span></b></p>
</td>
</tr>
<tr>
<td width="986" height="290" align="left" valign="top">
<div style="width:986px; height:610px; background-color:rgb(255,255,255); overflow:auto; border:solid 1px black;">
<?php
$limite=$_GET['limite'];
$nombre = 20; // on va afficher 5 résultats par page.
if (!isset($limite)) $limite = 0; // si on arrive sur la page pour la première fois
// on met limite à 0.
$path_parts = pathinfo($_SERVER['PHP_SELF']);
$page = $path_parts['basename'];
$limitesuivante = $limite + $nombre;
$limiteprecedente = $limite - $nombre;
function displayNextPreviousButtons($limite,$total,$nombre,$page) {
$limitesuivante = $limite + $nombre;
$limiteprecedente = $limite - $nombre;
echo '<table><tr>'."\n";
if($limite != 0) {
echo '<td valign="top">'."\n";
echo '<form action="'.$page.'" method="post">'."\n";
echo '<input type="submit" value="précédents">'."\n";
echo '<input type="hidden" value="'.$limiteprecedente.'" name="limite">'."\n";
echo '</form>'."\n";
echo '</td>'."\n";
}
if($limiteSuivante < $total) {
echo '<td valign="top">'."\n";
echo '<form action="'.$page.'" method="post">'."\n";
echo '<input type="submit" value="suivants">'."\n";
echo '<input type="hidden" value="'.$limitesuivante.'" name="limite">'."\n";
echo '</form>'."\n";
echo '</td>'."\n";
}
echo '</tr></table>'."\n";
}
function affichePages($nombre,$page,$total) {
$nbpages=ceil($total/$nombre);
$numeroPages = 1;
$compteurPages = 1;
$limite = 0;
//echo '<table border = "0" ><tr>'."\n";
while($numeroPages <= $nbpages) {
// echo '<td ><a href = "'.$page.'?limite='.$limite.'">'.$numeroPages.'/'.$nbpages.'</a></td>'."\n";
$limite = $limite + $nombre;
$numeroPages = $numeroPages + 1;
$compteurPages = $compteurPages + 1;
if($compteurPages == 20) {
$compteurPages = 1;
echo ''."\n";
}
}
// echo '</tr></table>'."\n";
echo ''.$nbpages.'';
}
//$select = "SELECT count(id) FROM gestion_assur_vehicule WHERE validite_contrat='En cours' AND NOW() BETWEEN DATE_ADD(date_deffet, INTERVAL 305 DAY) AND DATE_ADD(date_deffet, INTERVAL 368 DAY)";
//$select = "SELECT count(id) FROM gestion_assur_vehicule WHERE validite_contrat='En cours' AND DATE_FORMAT(date_deffet, '%m-%d') > DATE_FORMAT(NOW(), '%m-%d') AND DATE_FORMAT(date_deffet, '%m-%d') < DATE_FORMAT(NOW() + INTERVAL 60 DAY, '%m-%d')";
//$select = "select * from gestion_assur_prevoyance where date_effet between '2004-01-01' and '2004-12-31' and date_resiliation between '2004-01-01' and '2004-12-31'";
//SELECT LEFT(date_effet, 4) AS annee, COUNT(*) AS nb_dossiers FROM gestion_assur_vehicule GROUP BY annee;
$select = "SELECT LEFT(date_effet, 4) AS annee, COUNT(*) AS nb_dossiers FROM gestion_assur_vehicule GROUP BY annee;";
$result = mysql_query($select,$db) or die ('Erreur : '.mysql_error() );
$row = mysql_fetch_row($result);
$total = $row[0];
//$select = "select * FROM gestion_assur_vehicule WHERE validite_contrat='En cours' AND NOW() BETWEEN DATE_ADD(date_deffet, INTERVAL 305 DAY) AND DATE_ADD(date_deffet, INTERVAL 368 DAY) ORDER BY id ASC limit $limite,$nombre";
//$select = "SELECT * FROM gestion_assur_vehicule WHERE validite_contrat='En cours' AND DATE_FORMAT(date_deffet, '%m-%d') > DATE_FORMAT(NOW(), '%m-%d') AND DATE_FORMAT(date_deffet, '%m-%d') < DATE_FORMAT(NOW() + INTERVAL 60 DAY, '%m-%d') ORDER BY DATE_FORMAT(date_deffet, '%m-%d') ASC limit $limite,$nombre";
$select = "select * from gestion_assur_prevoyance where date_effet between '2004-01-01' and '2004-12-31' and date_resiliation between '2004-01-01' and '2004-12-31' ORDER BY DATE_FORMAT(date_deffet, '%m-%d') ASC limit $limite,$nombre";
$result = mysql_query($select,$db) or die ('Erreur : '.mysql_error() );
function CompteReboursAvant($evenement)
{
$evenement = explode('-', $evenement);
// secondes entre le 1er janv. 1970 et la date de l'evenement
$evenement = (mktime(23,59,59,$evenement[1],$evenement[0],$evenement[2]));
// secondes entre le 1er janv. 1970 et aujourd'hui
$aujourdhui = time(void);
// secondes entre aujourd'hui et l'evenement
$secondes = $evenement - $aujourdhui;
// on divise pour avoir en jour(s)
$jours = $secondes / 86400;
// on arrondi à l'entier inferieur
$jours = floor($jours);
// valeur de retour de la fonction
return $jours;
}
if($total) {
// début du tableau
echo '<table bgcolor="#FFFFFF" border="1" width="986">'."\n";
// première ligne on affiche les titres prénom et surnom dans 2 colonnes
echo '<tr>';
echo '<td width="12"><p> </p></td>';
echo '<td width="190" bgcolor="#FFCC66"><b>N° de dossier client:</b></td>';
echo '<td width="80" bgcolor="#FFCC66"><p><b>Type</b></p></td>';
echo '<td width="340" bgcolor="#FFCC66"><p><b>Marque véhicule et modele</b></p></td>';
echo '<td bgcolor="#FFCC66"><p><b>Nbr de j restant</b></p></td>';
echo '<td align="right" bgcolor="#FFCC66"><p><b>Date de debut</b></p></td>';
echo '<td align="right" bgcolor="#FFCC66"><p><b>Vali Contr</b></p></td>';
echo '<td width="10"><p> </p></td>';
echo '</tr>'."\n";
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_array($result)) {
echo '<tr>';
echo '<td width="12"><p> </p></td>';
echo '<td width="190"><a href="fiche_assur_vehicule.php?id='.$row['num_dos_client'].'&asa='.$row['id'].'"><b>N° dos assurance: '.$row['id'].'</b></a></td>';
echo '<td width="80"><p>'.$row['type_vehicule'].'</p></td>';
echo '<td width="340"><p>'.$row['marque_vehicule'].' '.$row['modele_vehicule'].'</p></td>';
$anaumoinun = date("Y", strtotime("-1 year"));
$event_dates = date("d-m-$anaumoinun", strtotime($row['date_deffet']));
$event_datess = date("d-m-Y", strtotime($event_dates));
$event_date = date("d-m-Y", strtotime("+1 year", strtotime($event_datess."-01" )));
//echo $event_date; afiche la date a l'endroit
$nbre_de_jours = CompteReboursAvant($event_date);
echo '<td><p><i>Il reste '.$nbre_de_jours.' jour(s)</i></p></td>';
echo '<td align="right"><p>'.$row['date_deffet'].'</p></td>';
echo '<td align="right"><p>'.$row['validite_contrat'].'</p></td>';
echo '<td width="10"><p> </p></td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
if($total > $nombre) {
?><p align="center"><?php
if($limite != 0) {
echo '<a href="'.$page.'?limite='.$limiteprecedente.'">Page précédente</a> - ';
}
else
{
echo 'Page précédente - ';
}
// affichage des liens vers les pages
$resa = $limite + $nombre;
$resb = $resa / $nombre;
echo 'page '.$resb.' / ';
affichePages($nombre,$page,$total);
// affichage des boutons
if($limitesuivante < $total) {
echo ' - <a href="'.$page.'?limite='.$limitesuivante.'">Page Suivante</a>';
}
else
{
echo ' - Page Suivante';
}
?></p><?php
}
// fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';
// on libère le résultat
mysql_free_result($result);
?>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</code>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Neodcb77
Messages postés
9
Date d'inscription
dimanche 2 mars 2014
Statut
Membre
Dernière intervention
9 mars 2014
5 mars 2014 à 17:54
5 mars 2014 à 17:54
j'ai modifier le code:
reponse:
$select = "select * from gestion_dos_client where date_effet between '2004-01-01' and '2004-12-31' and date_resiliation between '2004-01-01' and '2004-12-31'";
reponse:
Erreur : Unknown column 'date_deffet' in 'order clause'
Neodcb77
Messages postés
9
Date d'inscription
dimanche 2 mars 2014
Statut
Membre
Dernière intervention
9 mars 2014
9 mars 2014 à 10:05
9 mars 2014 à 10:05
Bon j'ai créé ceci: mais n'affiche que les dossier avec la date annuel d'effet 2004
mais comment lui dire si par exemple un dossier a comme date effet 2003-06-01 et date résiliation 2009-06-01 donc dois être compté dans les année 2003, 2004, 2005, 2006, 2007, 2008, 2009 donc dan la liste dois être aussi compté
mais comment lui dire si par exemple un dossier a comme date effet 2003-06-01 et date résiliation 2009-06-01 donc dois être compté dans les année 2003, 2004, 2005, 2006, 2007, 2008, 2009 donc dan la liste dois être aussi compté
$select = "SELECT count(id) FROM gestion_assur_prevoyance WHERE LEFT(date_effet, 4) = 2004";
$result = mysql_query($select,$db) or die ('Erreur : '.mysql_error() );
$row = mysql_fetch_row($result);
$total = $row[0];
$select = "select * FROM gestion_assur_prevoyance WHERE LEFT(date_effet, 4) = 2004 ORDER BY id ASC limit $limite,$nombre";
$result = mysql_query($select,$db) or die ('Erreur : '.mysql_error() );
jee pee
Messages postés
40558
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
16 décembre 2024
9 458
Modifié par jee pee le 9/03/2014 à 11:20
Modifié par jee pee le 9/03/2014 à 11:20
Salut,
Peut être
Pour ton problème de gestion de l'intervalle date début/fin on revient à la remarque qui t'a été faite plusieurs fois, il faut utiliser des champs de type date qui possèdent des opérateurs spécialisés.
cdlt
Un étranger, c'est un ami qu'on n'a pas encore rencontré.
Peut être
select LEFT(date_effet, 4), count(*) FROM gestion_assur_prevoyance GROUP BY LEFT(date_effet, 4)
Pour ton problème de gestion de l'intervalle date début/fin on revient à la remarque qui t'a été faite plusieurs fois, il faut utiliser des champs de type date qui possèdent des opérateurs spécialisés.
cdlt
Un étranger, c'est un ami qu'on n'a pas encore rencontré.
Neodcb77
Messages postés
9
Date d'inscription
dimanche 2 mars 2014
Statut
Membre
Dernière intervention
9 mars 2014
9 mars 2014 à 22:49
9 mars 2014 à 22:49
je ne peux pas modifier en type date car d'autre fonction sont calculer en mode varchar dessus