Requete sql between

Fermé
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 - 3 févr. 2011 à 11:58
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 - 3 févr. 2011 à 14:48
Bonjour,
J'ai une base de données avec des dates de rappels liées a des vaccins !
Je voudrais afficher donc les dates de rappels mois - 1
Donc si j'ai un vaccin à faire au moins de février qu'il me prévienne au mois de janvier et de février
Si j'ai un vaccin au mois de septembre je voudrais qu'il m'affiche une alerte au mois d'aout et de septembre...
Je sais pas si je suis très claire :
voici des tests de requête sql :
select nom_vaccin 
from rappel 
where mois_rappel BETWEEN month(mois_rappel) AND month(mois_rappel) - 1



6 réponses

essaye

select nom_vaccin
from rappel
where mois_rappel between month(mois_rappel) - interval 1 month and month(mois_rappel);
0
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
3 févr. 2011 à 13:25
Alors MySQL ne trouve pas d'erreurs, mais par contre j'ai pas de résultats...
0
Je n'ai pas travaillé sur les dates depuis un by, essaye plutôt :

select nom_vaccin
from rappel
where mois_rappel between now() and now() + interval 1 month;
0
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
3 févr. 2011 à 13:58
Finalement avec cette requete la ca fonctionne :
$mois_en_chiffre = date('m')-1;
if(strlen($mois_en_chiffre) == 1)
{
$le_mois = '0'.$mois_en_chiffre;
}
else
{
$le_mois = $mois_en_chiffre;
}

if($le_mois == "13")
{
$le_mois = "01";
$year = date('Y') + 1;
}
else
{
$year = date('Y');
}
$mois_en_cours = date('m');
$selection_vaccin = "SELECT mois_rappel, annee_rappel, nom_vaccin FROM rappel WHERE pat_id = '".$_SESSION['id_users']."' AND mois_rappel BETWEEN '".$le_mois."' AND '".$mois_en_cours."' AND annee_rappel = '".$year."'";
$query_vaccin = mysql_query($selection_vaccin);

Par contre je suis pas du tout sur pour le mois 13...
Parce que je lui dis de prendre plus un à chaque fois donc du coup il va forcément arriver à un mois 13.. donc j'lui dis que si il arrive à 13 en faite il prends 01 et une année en plus
ca semble correcte ?
0

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

Posez votre question
En fait j'ai édité mon dernier message peu avant que tu poste. La requête que j'ai posté fonctionne sur une table de test que j'ai créée.
0
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
3 févr. 2011 à 14:48
Okk ;)
interval ca sert à quoi ?
sinon pour le mois 13 tu as lu ?
0