Page 1 sur 1
tries par le numéro de mois.
Posté : 28 sept. 2006, 16:35
par dunbar
Bonjour,
J'ai actuellement un tableau qui reprend les enregistrement du mois en court, et je voudrais faire un trie sur le mois d'août par exemple.
Alors ma question est:
Es t'il possible de faire une recherche sur un mois donné par le numéro du mois exemple Août serait le numéro 8
$sql = "SELECT * FROM
prestation WHERE YEAR(date) = YEAR(CURDATE()) AND MONTH( 8 ) ())";
$result = mysql_query($sql) or die ('Ne trouve pas tout les champs dans la TABLE : '.mysql_error());
$total = mysql_num_rows($result);
J'avais penser à ceci mais ça ne fonctionne pas
D'avance merci
Posté : 28 sept. 2006, 16:40
par fred9999
salut ,
1- dans ta table, le champ sur lequel tu souhaite faire un selection
est défini en tant que date???
2- à l'insertion des données à tu respecté le format de date???
ex: 0000-00-00 (généralement) ou 00/00/0000
3- quel est le format de la date???
Posté : 28 sept. 2006, 16:41
par dunbar
salut ,
1- dans ta table, le champ sur lequel tu souhaite faire un selection
est défini en tant que date???
2- à l'insertion des données à tu respecté le format de date???
ex: 0000-00-00 (généralement) ou 00/00/0000
3- quel est le format de la date???
Oui j'ai un champ date sous le format suivant 0000-00-00
Posté : 28 sept. 2006, 16:46
par Ryle
Et si au lieu de MONTH( 8 ) tu mettais un MONTH( date ) = 8 ... ca serait y pas plus logique ?

Posté : 28 sept. 2006, 16:50
par fred9999
ok ok
sinon il a une solution qui consiste a n'afficher que le mois choisis
<?php
$mois=$_POST['mois']
$sql = "SELECT * FROM prestation ;";
$result = mysql_query($sql or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" ) ;
while( $print = mysql_fetch_row( $result ) )
{
$m=substr($print['ici tu met le num de ton champ -1'],6,2)
//et ensuite tu compare
if($mois==$m)
{
echo $print['num de ce que tu veut afficher'];
}
}
mais bon on contourne le problème et si ta base est énorme ça prendra + de temps à la parcourir je pense

Posté : 28 sept. 2006, 16:50
par dunbar
Et si au lieu de MONTH( 8 ) tu mettais un MONTH( date ) = 8 ... ca serait y pas plus logique ?


Oui effectivement merci beaucoup
Posté : 28 sept. 2006, 16:51
par dunbar
ok ok
sinon il a une solution qui consiste a n'afficher que le mois choisis
<?php
$mois=$_POST['mois']
$sql = "SELECT * FROM prestation ;";
$result = mysql_query($sql or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" ) ;
while( $print = mysql_fetch_row( $result ) )
{
$m=substr($print['ici tu met le num de ton champ -1'],6,2)
//et ensuite tu compare
if($mois==$m)
{
echo $print['num de ce que tu veut afficher'];
}
}
mais bon on contourne le problème et si ta base est énorme ça prendra + de temps à la parcourir je pense

Merci pour cette solution, alors voici la mienne qui fonctionne aussi
WHERE YEAR(date) = YEAR(CURDATE()) AND MONTH(date) = 8 ";
Posté : 28 sept. 2006, 20:45
par Truc
Résolu ?
Posté : 28 sept. 2006, 21:10
par Invité
Résolu ?
Oui sorry voilà
