tries par le numéro de mois.

ViPHP
ViPHP | 2291 Messages

28 sept. 2006, 16:35

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 :oops:

D'avance merci
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Mammouth du PHP | 592 Messages

28 sept. 2006, 16:40

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???

ViPHP
ViPHP | 2291 Messages

28 sept. 2006, 16:41

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
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

28 sept. 2006, 16:46

Et si au lieu de MONTH( 8 ) tu mettais un MONTH( date ) = 8 ... ca serait y pas plus logique ? :)

Mammouth du PHP | 592 Messages

28 sept. 2006, 16:50

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 :oops:

ViPHP
ViPHP | 2291 Messages

28 sept. 2006, 16:50

Et si au lieu de MONTH( 8 ) tu mettais un MONTH( date ) = 8 ... ca serait y pas plus logique ? :)
:oops: Oui effectivement merci beaucoup
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

ViPHP
ViPHP | 2291 Messages

28 sept. 2006, 16:51

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 :oops:
Merci pour cette solution, alors voici la mienne qui fonctionne aussi :wink:
WHERE YEAR(date) = YEAR(CURDATE()) AND MONTH(date) = 8 ";
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

28 sept. 2006, 20:45

Résolu ?

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Invité
Invité n'ayant pas de compte PHPfrance

28 sept. 2006, 21:10

Résolu ?
Oui sorry voilà :lol: