Between '...' and '...'

gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008 - 19 mai 2006 à 14:33
gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008 - 20 mai 2006 à 15:04
salut,
je cherche pour faire un between entre 2 dates
parce que sa ne me donne pas le résultat désiré
par exemple si je fais un select sur une date précise par exemple en avril 2006 sa me donne 5 résultats ce qui correspond bien mais si je fais un select sur une periode avec le between presenter comme ci-dessous entre mars et mai cela me donne que 2 résultat

$sql = " SELECT COUNT(*) FROM  ma_table WHERE date_fin BETWEEN '% $mois-$an ' AND '%$mois2-$an2'";
$req = mysql_result($sql);
if ($data = mysql_num_row($req))
{
echo $data['id'].'
';


}

15 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
19 mai 2006 à 15:07
Hello,

tu confonds BETWEEN et LIKE, là...
0
gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008
19 mai 2006 à 15:15
ok mais qu'est ce que je dois mettre alors ?

$sql = " SELECT COUNT(*) FROM  ma_table WHERE date_fin BETWEEN '??- $mois-$an ' AND '??-$mois2-$an2'";
$req = mysql_result($sql);
if ($data = mysql_num_row($req))
{
echo $data['id'].'
';

}
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
19 mai 2006 à 16:12
Déjà, c'est quoi le type de ton champ date_fin ?
Parce mm-yyyy ça me parait curieux comme champ de type date pour mysql.
0
gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008
19 mai 2006 à 16:22
date_fin est un VARCHAR parce que je veux conserver dans la base de donnée la date dans l'ordre française et non anglaise soit dd-mm-YYYY
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
19 mai 2006 à 16:45
salut
peut etre

WHERE LEFT(date_fin, nombre de caracteres) between... 
0
gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008
19 mai 2006 à 17:17
g tester sa ne change rien
 voila l'integralité de ma page PHP ( Bon courage, si vous avez la patience de voir le script et de parvenir a me venir en aide )
elle est décomposée  en 3 parties qui se répète
- une date
- 2 date afin d'effectuer des statistiques sur ue periode
- sans date donc l'integralite de la table

g mis en vert  la partie concernée et en rouge le srcipt

<?php
if ($_POST['date']=='O')//si on fixe une date
 {
 $mois = isset($_POST['mois'])?$_POST['mois']:null;
 $an  = isset($_POST['an'])?$_POST['an']:null;
 }
if ($_POST['date']=='E')//si on fixe deux date
 {
 $mois = isset($_POST['mois'])?$_POST['mois']:null;
 $an  = isset($_POST['an'])?$_POST['an']:null;
 $mois2 = isset($_POST['mois2'])?$_POST['mois2']:null;
 $an2 = isset($_POST['an2'])?$_POST['an2']:null;
 }
$inst  =  isset($_POST['inst'])?$_POST['inst']:null;
$dep  =  isset($_POST['dep'])?$_POST['dep']:null;
$imp  =  isset($_POST['imp'])?$_POST['imp']:null;
$res  =  isset($_POST['res'])?$_POST['res']:null;
$ordi  =  isset($_POST['ord'])?$_POST['ord']:null;
$port  =  isset($_POST['por'])?$_POST['por']:null;
$ensem  =  isset($_POST['ens'])?$_POST['ens']:null;
//$inter = $inst + $dep;


//compte les types d'intervention
include('../config.php');
 
echo 'Nb d\'intervention  par matériel:
';
//compte les types materiels
if (isset($_POST['date'])&&($_POST['date']=='O'))
{//si le mois et l'année est posté
if (isset($_POST['inst']))
 {
 if (isset($_POST['imp'])||isset($_POST['res'])||isset($_POST['ord'])||isset($_POST['por'])||isset($_POST['ens']))
  {
  $sql1 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$inst' AND date_fin like '%$mois-$an' AND (type_mat='$imp' OR type_mat='$res' OR type_mat='$ordi' OR type_mat='$port' OR type_mat='$ensem') ";
  $req1 = mysql_query($sql1) or die('O_req_install_all '.mysql_error());
  if ($data1 = mysql_result($req1,0))
   {
   $inst_all=$data1['type_mat'];
   }
  }
 //compte les types materiels Imprimante
 if (isset($_POST['imp']))
  {
  $sql2 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$inst' AND date_fin like '%$mois-$an' AND type_mat='$imp' ";
  $req2 = mysql_query($sql2) or die('O_req_install_imp '.mysql_error());
  if ($data2 = mysql_result($req2,0))
   {
   $inst_imp=$data2['type_mat'];
   }
  }
 //compte les types materiels Réseau
 if (isset($_POST['res']))
  {
  $sql3 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$inst' AND date_fin like '%$mois-$an' AND type_mat='$res'";
  $req3 = mysql_query($sql3) or die('O_req_install_res '.mysql_error());
  if ($data3 = mysql_result($req3,0))
   {
   $inst_res=$data3['type_mat'];
   }
  }
 //compte les types materiels Ordinateur
 if (isset($_POST['ord']))
  {
  $sql4 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$inst' AND date_fin like '%$mois-$an' AND type_mat='$ordi'";
  $req4 = mysql_query($sql4) or die('O_req_install_ord '.mysql_error());
  if ($data4 = mysql_result($req4,0))
   {
   $inst_ord=$data4['type_mat'];
   }
  }
 //compte les types materiels Portables
 if (isset($_POST['por']))
  {
  $sql5 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$inst' AND date_fin like '%$mois-$an' AND type_mat='$port'";
  $req5 = mysql_query($sql5) or die('O_req_install_por '.mysql_error());
  if ($data5 = mysql_result($req5,0))
   {
   $inst_por=$data5['type_mat'];
   }
  }
 //compte les types materiels Ensemble
 if (isset($_POST['ens']))
  {
  $sql6 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$inst' AND date_fin like '%$mois-$an' AND type_mat='$ensem'";
  $req6 = mysql_query($sql6) or die('O_req_install_ens '.mysql_error());
  if ($data6 = mysql_result($req6,0))
   {
   $inst_ens=$data6['type_mat'];
   }
  }
 }
if (isset($_POST['dep']))
 {
 if (isset($_POST['imp'])||isset($_POST['res'])||isset($_POST['ord'])||isset($_POST['por'])||isset($_POST['ens']))
  {
  $sql1 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$dep' AND date_fin like '%$mois-$an' AND (type_mat='$imp' OR type_mat='$res' OR type_mat='$ordi' OR type_mat='$port' OR type_mat='$ensem') ";
  $req1 = mysql_query($sql1) or die('O_req_dep_all '.mysql_error());
  if ($data1 = mysql_result($req1,0))
   {
   $dep_all=$data1['type_mat'];
   }
  }
 //compte les types materiels Imprimante
 if (isset($_POST['imp']))
  {
  $sql2 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$dep' AND date_fin like '%$mois-$an' AND type_mat='$imp' ";
  $req2 = mysql_query($sql2) or die('O_req_dep_imp '.mysql_error());
  if ($data2 = mysql_result($req2,0))
   {
   $dep_imp=$data2['type_mat'];
   }
  }
 //compte les types materiels Réseau
 if (isset($_POST['res']))
  {
  $sql3 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$dep' AND date_fin like '%$mois-$an' AND type_mat='$res'";
  $req3 = mysql_query($sql3) or die('O_req_dep_res '.mysql_error());
  if ($data3 = mysql_result($req3,0))
   {
   $dep_res=$data3['type_mat'];
   }
  }
 //compte les types materiels Ordinateur
 if (isset($_POST['ord']))
  {
  $sql4 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$dep' AND date_fin like '%$mois-$an' AND type_mat='$ordi'";
  $req4 = mysql_query($sql4) or die('O_req_dep_ord '.mysql_error());
  if ($data4 = mysql_result($req4,0))
   {
   $dep_ord=$data4['type_mat'];
   }
  }
 //compte les types materiels Portables
 if (isset($_POST['por']))
  {
  $sql5 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$dep' AND date_fin like '%$mois-$an' AND type_mat='$port'";
  $req5 = mysql_query($sql5) or die('O_req_dep_por '.mysql_error());
  if ($data5 = mysql_result($req5,0))
   {
   $dep_por=$data5['type_mat'];
   }
  }
 //compte les types materiels Ensemble
 if (isset($_POST['ens']))
  {
  $sql6 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$dep' AND date_fin like '%$mois-$an' AND type_mat='$ensem'";
  $req6 = mysql_query($sql6) or die('O_req_dep_ens '.mysql_error());
  if ($data6 = mysql_result($req6,0))
   {
   $dep_ens=$data6['type_mat'];
   }
  }
 }
if (isset($_POST['inst'])||isset($_POST['dep']))
 {
 if (isset($_POST['imp'])||isset($_POST['res'])||isset($_POST['ord'])||isset($_POST['por'])||isset($_POST['ens']))
  {
  $sql1 = "SELECT COUNT( * ) FROM $table_hist WHERE (type_inter='$inst' OR type_inter='$dep') AND date_fin like '%$mois-$an' AND (type_mat='$imp' OR type_mat='$res' OR type_mat='$ordi' OR type_mat='$port' OR type_mat='$ensem') ";
  $req1 = mysql_query($sql1) or die('O_req_dep_install '.mysql_error());
  if ($data1 = mysql_result($req1,0))
   {
   $inst_dep_all=$data1['type_mat'];
   }
  }
 }
}
elseif (isset($_POST['date'])&&($_POST['date']=='E'))
{//si le mois et l'année est posté
if (isset($_POST['inst']))
 {
 if (isset($_POST['imp'])||isset($_POST['res'])||isset($_POST['ord'])||isset($_POST['por'])||isset($_POST['ens']))
  {
  $sql1 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$inst' AND date_fin BETWEEN ('%$mois-$an' AND '%$mois2-$an2') AND (type_mat='$imp' OR type_mat='$res' OR type_mat='$ordi' OR type_mat='$port' OR type_mat='$ensem') ";
  $req1 = mysql_query($sql1) or die('E_req_install_all '.mysql_error());
  if ($data1 = mysql_result($req1,0))
   {
   $inst_all=$data1['type_mat'];
   }
  }
 //compte les types materiels Imprimante
 if (isset($_POST['imp']))
  {
  $sql2 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$inst' AND date_finBETWEEN ('%$mois-$an' AND '%$mois2-$an2') AND type_mat='$imp' ";
  $req2 = mysql_query($sql2) or die('E_req_install_imp '.mysql_error());
  if ($data2 = mysql_result($req2,0))
   {
   $inst_imp=$data2['type_mat'];
   }
  }
 //compte les types materiels Réseau
 if (isset($_POST['res']))
  {
  $sql3 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$inst' AND date_fin BETWEEN ('%$mois-$an' AND '%$mois2-$an2') AND type_mat='$res'";
  $req3 = mysql_query($sql3) or die('E_req_install_res '.mysql_error());
  if ($data3 = mysql_result($req3,0))
   {
   $inst_res=$data3['type_mat'];
   }
  }
 //compte les types materiels Ordinateur
 if (isset($_POST['ord']))
  {
  $sql4 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$inst' AND date_fin BETWEEN ('%$mois-$an' AND '%$mois2-$an2') AND type_mat='$ordi'";
  $req4 = mysql_query($sql4) or die('E_req_install_ord '.mysql_error());
  if ($data4 = mysql_result($req4,0))
   {
   $inst_ord=$data4['type_mat'];
   }
  }
 //compte les types materiels Portables
 if (isset($_POST['por']))
  {
  $sql5 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$inst' AND date_fin BETWEEN ('%$mois-$an' AND '%$mois2-$an2') AND type_mat='$port'";
  $req5 = mysql_query($sql5) or die('E_req_install_por '.mysql_error());
  if ($data5 = mysql_result($req5,0))
   {
   $inst_por=$data5['type_mat'];
   }
  }
 //compte les types materiels Ensemble
 if (isset($_POST['ens']))
  {
  $sql6 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$inst' AND date_fin BETWEEN ('%$mois-$an' AND '%$mois2-$an2') AND type_mat='$ensem'";
  $req6 = mysql_query($sql6) or die('E_req_install_ens '.mysql_error());
  if ($data6 = mysql_result($req6,0))
   {
   $inst_ens=$data6['type_mat'];
   }
  }
 }
if (isset($_POST['dep']))
 {
 if (isset($_POST['imp'])||isset($_POST['res'])||isset($_POST['ord'])||isset($_POST['por'])||isset($_POST['ens']))
  {
  $sql1 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$dep' AND date_fin BETWEEN ('%$mois-$an' AND '%$mois2-$an2') AND (type_mat='$imp' OR type_mat='$res' OR type_mat='$ordi' OR type_mat='$port' OR type_mat='$ensem') ";
  $req1 = mysql_query($sql1) or die('E_req_dep_all '.mysql_error());
  if ($data1 = mysql_result($req1,0))
   {
   $dep_all=$data1['type_mat'];
   }
  }
 //compte les types materiels Imprimante
 if (isset($_POST['imp']))
  {
  $sql2 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$dep' AND date_fin BETWEEN ('%$mois-$an' AND '%$mois2-$an2') AND type_mat='$imp' ";
  $req2 = mysql_query($sql2) or die('E_req_dep_imp '.mysql_error());
  if ($data2 = mysql_result($req2,0))
   {
   $dep_imp=$data2['type_mat'];
   }
  }
 //compte les types materiels Réseau
 if (isset($_POST['res']))
  {
  $sql3 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$dep' AND date_fin BETWEEN ('%$mois-$an' AND '%$mois2-$an2') AND type_mat='$res'";
  $req3 = mysql_query($sql3) or die('E_req_dep_res '.mysql_error());
  if ($data3 = mysql_result($req3,0))
   {
  $dep_res=$data3['type_mat'];
   }
  }
 //compte les types materiels Ordinateur
 if (isset($_POST['ord']))
  {
  $sql4 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$dep' AND date_fin BETWEEN ('%$mois-$an' AND '%$mois2-$an2') AND type_mat='$ordi'";
  $req4 = mysql_query($sql4) or die('E_req_dep_ord '.mysql_error());
  if ($data4 = mysql_result($req4,0))
   {

   $dep_ord=$data4['type_mat'];
   }
  }
 //compte les types materiels Portables
 if (isset($_POST['por']))
  {
  $sql5 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$dep' AND date_fin BETWEEN ('%$mois-$an' AND '%$mois2-$an2') AND type_mat='$port'";
  $req5 = mysql_query($sql5) or die('E_req_dep_por '.mysql_error());
  if ($data5 = mysql_result($req5,0))
   {
   $dep_por=$data5['type_mat'];
   }
  }
 //compte les types materiels Ensemble
 if (isset($_POST['ens']))
  {
  $sql6 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$dep' AND date_fin BETWEEN ('%$mois-$an' AND '%$mois2-$an2') AND type_mat='$ensem'";
  $req6 = mysql_query($sql6) or die('E_req_dep_ens '.mysql_error());
  if ($data6 = mysql_result($req6,0))
   {
   $dep_ens=$data6['type_mat'];
   }
  }
 }
if (isset($_POST['inst'])||isset($_POST['dep']))
 {
 if (isset($_POST['imp'])||isset($_POST['res'])||isset($_POST['ord'])||isset($_POST['por'])||isset($_POST['ens']))
  {
  $sql1 = "SELECT COUNT( * ) FROM $table_hist WHERE (type_inter='$inst' OR type_inter='$dep') AND date_fin BETWEEN ('??-$mois-$an' AND '??-$mois2-$an2') AND (type_mat='$imp' OR type_mat='$res' OR type_mat='$ordi' OR type_mat='$port' OR type_mat='$ensem') ";
  $req1 = mysql_query($sql1) or die('E_req_dep_install '.mysql_error());
  if ($data1 = mysql_result($req1,0))
   {
   $inst_dep_all=$data1['type_mat'];
   }
  }
 }
}else{//si le mois et l'année n'est pas posté
if (isset($_POST['inst']))
 {
 if (isset($_POST['imp'])||isset($_POST['res'])||isset($_POST['ord'])||isset($_POST['por'])||isset($_POST['ens']))
  {
  $sql1 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$inst' AND (type_mat='$imp' OR type_mat='$res' OR type_mat='$ordi' OR type_mat='$port' OR type_mat='$ensem') ";
  $req1 = mysql_query($sql1) or die('N_req_install_all '.mysql_error());
  if ($data1 = mysql_result($req1,0))
   {
   $inst_all=$data1['type_mat'];
   }
  }
 //compte les types materiels Imprimante
 if (isset($_POST['imp']))
  {
  $sql2 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$inst' AND type_mat='$imp' ";
  $req2 = mysql_query($sql2) or die('N_req_install_imp '.mysql_error());
  if ($data2 = mysql_result($req2,0))
   {
   $inst_imp=$data2['type_mat'];
   }
  }
 //compte les types materiels Réseau
 if (isset($_POST['res']))
  {
  $sql3 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$inst' AND type_mat='$res'";
  $req3 = mysql_query($sql3) or die('N_req_install_res '.mysql_error());
  if ($data3 = mysql_result($req3,0))
   {
  $inst_res=$data3['type_mat'];
   }
  }
 //compte les types materiels Ordinateur
 if (isset($_POST['ord']))
  {
  $sql4 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$inst' AND type_mat='$ordi'";
  $req4 = mysql_query($sql4) or die('N_req_install_ord '.mysql_error());
  if ($data4 = mysql_result($req4,0))
   {
   $inst_ord=$data4['type_mat'];
   }
  }
 //compte les types materiels Portables
 if (isset($_POST['por']))
  {
  $sql5 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$inst' AND type_mat='$port'";
  $req5 = mysql_query($sql5) or die('N_req_install_por '.mysql_error());
  if ($data5 = mysql_result($req5,0))
   {
   $inst_por=$data5['type_mat'];
   }
  }
 //compte les types materiels Ensemble
 if (isset($_POST['ens']))
  {
  $sql6 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$inst' AND type_mat='$ensem'";
  $req6 = mysql_query($sql6) or die('N_req_install_ens '.mysql_error());
  if ($data6 = mysql_result($req6,0))
   {
   $inst_ens=$data6['type_mat'];
   }
  }
 }
if (isset($_POST['dep']))
 {
 if (isset($_POST['imp'])||isset($_POST['res'])||isset($_POST['ord'])||isset($_POST['por'])||isset($_POST['ens']))
  {
  $sql1 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$dep' AND (type_mat='$imp' OR type_mat='$res' OR type_mat='$ordi' OR type_mat='$port' OR type_mat='$ensem') ";
  $req1 = mysql_query($sql1) or die('N_req_dep_all '.mysql_error());
  if ($data1 = mysql_result($req1,0))
   {
   $dep_all=$data1['type_mat'];
   }
  }
 //compte les types materiels Imprimante
 if (isset($_POST['imp']))
  {
  $sql2 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$dep' AND type_mat='$imp' ";
  $req2 = mysql_query($sql2) or die('N_req_dep_imp '.mysql_error());
  if ($data2 = mysql_result($req2,0))
   {
   $dep_imp=$data2['type_mat'];
   }
  }
 //compte les types materiels Réseau
 if (isset($_POST['res']))
  {
  $sql3 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$dep' AND type_mat='$res'";
  $req3 = mysql_query($sql3) or die('N_req_dep_res '.mysql_error());
  if ($data3 = mysql_result($req3,0))
   {
   $dep_res=$data3['type_mat'];
   }
  }
 //compte les types materiels Ordinateur
 if (isset($_POST['ord']))
  {
  $sql4 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$dep' AND type_mat='$ordi'";
  $req4 = mysql_query($sql4) or die('N_req_dep_ord '.mysql_error());
  if ($data4 = mysql_result($req4,0))
   {
   $dep_ord=$data4['type_mat'];
   }
  }
 //compte les types materiels Portables
 if (isset($_POST['por']))
  {
  $sql5 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$dep' AND type_mat='$port'";
  $req5 = mysql_query($sql5) or die('N_req_dep_por '.mysql_error());
  if ($data5 = mysql_result($req5,0))
   {
   $dep_por=$data5['type_mat'];
   }
  }
 //compte les types materiels Ensemble
 if (isset($_POST['ens']))
  {
  $sql6 = "SELECT COUNT( * ) FROM $table_hist WHERE type_inter='$dep' AND type_mat='$ensem'";
  $req6 = mysql_query($sql6) or die('N_req_dep_ens '.mysql_error());
  if ($data6 = mysql_result($req6,0))
   {
   $dep_ens=$data6['type_mat'];
   }
  }
 }
if (isset($_POST['inst'])||isset($_POST['dep']))
 {
 if (isset($_POST['imp'])||isset($_POST['res'])||isset($_POST['ord'])||isset($_POST['por'])||isset($_POST['ens']))
  {
  $sql1 = "SELECT COUNT( * ) FROM $table_hist WHERE (type_inter='$inst' OR type_inter='$dep') AND (type_mat='$imp' OR type_mat='$res' OR type_mat='$ordi' OR type_mat='$port' OR type_mat='$ensem') ";
  $req1 = mysql_query($sql1) or die('N_req_install_dep '.mysql_error());
  if ($data1 = mysql_result($req1,0))
   {
   $inst_dep_all=$data1['type_mat'];
   }
  }
 }
}
if (!isset($inst_imp)) {$inst_imp ='0';}
if (!isset($dep_imp)) {$dep_imp ='0';}
if (!isset($inst_res)) {$inst_res ='0';}
if (!isset($dep_res)) {$dep_res ='0';}
if (!isset($inst_ord)) {$inst_ord ='0';}
if (!isset($dep_ord)) {$dep_ord ='0';}
if (!isset($inst_por)) {$inst_por ='0';}
if (!isset($dep_por)) {$dep_por ='0';}
if (!isset($inst_ens)) {$inst_ens ='0';}
if (!isset($dep_ens)) {$dep_ens ='0';}
if (!isset($inst_all)) {$inst_all ='0';}
if (!isset($dep_all)) {$dep_all ='0';}
if (!isset($inst_dep_all)) {$inst_dep_all ='0';}
if (!isset($mois))  {$mois =null;}
if (!isset($an))  {$an =null;}
if (!isset($mois2))  {$mois2 =null;}
if (!isset($an2))  {$an2 =null;}
if ($_POST['date']=='O')
 {
 $date = $mois.' '.$an;
 }
elseif ($_POST['date']=='E')
 {
 $date='entre '.$mois.' '.$an.' et '.$mois2.' '.$an2;
 }else{
 $date=null;
 }
//afficher les resultat dans un tableaux
echo'';
echo'----
Statistique : '.$date.', ';
echo'----
, Installation, Dépannage, ';
echo'----
Imprimante, '.$inst_imp.', '.$dep_imp.', ';
echo'----
Réseau, '.$inst_res.', '.$dep_res.', ';
echo'----
Ordinateur, '.$inst_ord.', '.$dep_ord.', ';
echo'----
Portable, '.$inst_por.', '.$dep_por.', ';
echo'----
Ensemble, '.$inst_ens.', '.$dep_ens.', ';
echo'----
Intervention, '.$inst_all.', '.$dep_all.', ';
echo'----
Intervention, '.$inst_dep_all.', ';
echo'
';

//afficher les reultat sous forme d'histogramme
include('../test/Nouveau dossier/histogram.php');
?>
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
19 mai 2006 à 17:36
Si c'est un varchar, tu ne peux pas faire de comparaison comme celle-là.
Il faut choisir...! Soit tu veux un varchar pour avoir une datye au format français (je me demande bien pourquoi) et tu oublies une comparaison SIMPLE de dates...(il faudra faire complexe, comme te le montre Sidf, mais en plus complexe si tu veux obtenir ton bin's exact), soit tu utilises les bons types de champ. Franchement, stocker une date au format datetime, ou int...ça t'embête pour quoi ? C'est facile à afficher ensuite dans un format français hein.
0
gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008
19 mai 2006 à 17:47
d'accord si le problème vient de la c'est ce que je v faire mais
peux tu me montrer comment mettre en Français dans ce cas stp

cordialement
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
19 mai 2006 à 19:02
Utilise DATE_FORMAT() en SQL !
0
gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008
19 mai 2006 à 22:08
ok super je te remercie pour le date_format
je ne connaissai et sa marche bien
désormais g mis les dates non pas en VARCHAR mais en DATE et sa ne marche toujours pas
donc g essayer de mettre autre chose ke le between
donc g penser a :
$sql = " SELECT COUNT(*) FROM  ma_table WHERE date_fin>=$an-$mois AND date_fin<=$an2-$mois2";
$req = mysql_result($sql);
if ($data = mysql_num_row($req))
{
echo $data['id'].'
';
}
le résultat n'est pas satisfaisant non plus car il devrait m'afficher autre chose que 0
0
gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008
19 mai 2006 à 22:09
ok super je te remercie pour le date_format
je ne connaissai et sa marche bien
désormais g mis les dates non pas en VARCHAR mais en DATE et sa ne marche toujours pas
donc g essayer de mettre autre chose ke le between
donc g penser a :
$sql = " SELECT COUNT(*) FROM  ma_table WHERE date_fin>=$an-$mois AND date_fin<=$an2-$mois2";
$req = mysql_result($sql);
if ($data = mysql_num_row($req))
{
echo $data['id'].'
';
}
le résultat n'est pas satisfaisant non plus car il devrait m'afficher autre chose que 0
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
19 mai 2006 à 23:09
SELECT
COUNT(*)
FROM ta_table WHERE
DATE_FORMAT( date_fin, GET_FORMAT(DATE, 'EUR') )
BETWEEN
DATE_FORMAT( $date1, GET_FORMAT(DATE, 'EUR') )
AND
DATE_FORMAT( $date2, GET_FORMAT(DATE, 'EUR') )


Et la, tu peux avoir des champs varchar, int, date, ou ce-que-tu-veux... mais tu peux comparer autant de date que tu veux tranquilou.

http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html
0
gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008
20 mai 2006 à 00:06
Navré FhX, j'ai essayé en VARCHAR et en DATE cela me retourne toujours la valeur 0

alors que si je fais
$date = (date("m")-4).'-'.date("Y");
$date2 = (date("m-Y");

SELECT COUNT(*) FROM ta_table
WHERE date_fin LIKE ' %$date '
le résultat me retourne la valeur 2 ( ce qui est correct dans mon cas )
donc j'arive a faire un test sur un mois précis mais pas sur une période comme le script que tu viens de me proposer :
pour des test j'ai fais
$date = (date("m")-4).'-'.date("Y");
$date2 = (date("m-Y");

SELECT COUNT(*) FROM ta_table
WHERE DATE_FORMAT( date_fin, GET_FORMAT(DATE, 'EUR') )
BETWEEN
DATE_FORMAT( $date1, GET_FORMAT(DATE, 'EUR') )
AND
DATE_FORMAT( $date2, GET_FORMAT(DATE, 'EUR') )
 et la valeur retourner est 0 ce qui est différent de 0
0
gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008
20 mai 2006 à 10:58
finalement je viens de reussir en mettant la date non pas en VARCHAR mais en DATE
et j'ai exécuté le requete suivante :
SELECT COUNT(*) FROM ta_table
WHERE date_fin  BETWEEN '$date1' AND '$date2' tout simplement il suffisait juste de mettre le sql en DATE
bref
g un autre problème
j'essaie les fonctions pour la premiere fois donc j'essaie de creer une fonction de requete pour eviter de le retaper 50 fois donc j'aurais juste l'appel de fonction a faire ce qui va tout de mm plus vite en ligne d ecriture de code
//$table : nom de la table
//$champ : champ de la clause WHERE
//$nom_champ : texte HTML définissant le résulatat
//$var_champ : variable associé au résultat pour utilisation futur
 function requete_date($table,$champ,$nom_champ,$var_champ)
{
$sql = " SELECT COUNT(*) FROM $table ".
             " WHERE $champ ";
$req = mysql_query($sql);
if ($data = mysql_num_rows($req))
   {
   echo $nom_champ .' : '.  $data['id'] .' fois';
   $var_champ = $data['id'];
   }
}
$entre = " date_fin  BETWEEN '$date1' AND '$date2' ";
$inst = " type_inter='Installation' ";
$dep = " type_inter='Dépannage' ";
requete_date('historique', $entre ." AND ". $inst, ' Installation ', $val_inst)
requete_date('historique', $entre ." AND ". $dep, ' Dépannage ', $val_dep)

Le fait est que j'aimerai (si c'est possible) que le dernier paramètre sert a associé a une nouvelle variable unique que l'on créer a chaque appel de fonction afin de utiliser le résultat plus tard
0
gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008
20 mai 2006 à 15:04
pb résolu

function requete_date($table,$champ,$nom_champ)
{
$sql = " SELECT COUNT(*) FROM $table ".
             " WHERE $champ ";
$req = mysql_query($sql);
if ($data = mysql_num_rows($req))
   {
   echo $nom_champ .' : '.  $data['id'] .' fois';
   return = $data['id'];
   }
}

$val_inst = requete_date('historique', $entre ." AND ". $inst, ' Installation ')
$val_dep = requete_date('historique', $entre ." AND ". $dep, ' Dépannage ' )
0
Rejoignez-nous