Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Outils
Outils Forum d'entraide sur les outils pour MySQL. Avant de poster -> Outils MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/05/2007, 04h05   #1
Invité de passage
 
Inscription : mai 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 4
Points : 1
Points : 1
Par défaut [deb] Selection de dates mysql

Bonjour a tous !

Je suis nouveau ici et aussi mysql est tout nouveau pour moi.

J'ai une requete :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php include("config.php");
	$result = mysql_query("SELECT * , DATE_FORMAT(dates, '%m/%d/%Y') as datesfr FROM dates ORDER BY dates DESC",$connect);
	while($myrow = mysql_fetch_array($result))
		{
			echo "<div align='justify'>";
			echo "<b>";
			echo $myrow['titre'];
			echo "</b>";
			echo "<br />";
			echo $myrow['date'];
			echo "<br />";
			echo $myrow['commentaire'];
			echo "<br />";
			echo "<br />";
			echo "<hr color='#c4993d' size='1'>";
			echo "<br />";
			echo "</div>";
		}
?>
Je souhaiterai en fait n'avoir ques les dates du jour et celles à venir, que celles passées n'apparaissent pas, sans qu'elles ne soient supprimées de la base de données.

J'ai trouvé cet exemple sur http://dev.mysql.com/doc/refman/5.0/...functions.html :

mysql> SELECT quelquechose FROM nom_de_table
WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;

Mais rien n'y fait

Si vous pouviez m'aider.

Merci
evilcampbell est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2007, 08h55   #2
Membre Expert
 
Inscription : août 2002
Messages : 1 036
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 1 036
Points : 1 166
Points : 1 166
Bonjour,
  1. Merci d'éditer ton message et de mettre le code entre les balises 'code' ;
  2. '%m/%d/%Y' ne donne pas un format français, ce serait plutôt '%d/%m/%Y' ;
  3. recherche 'curdate()' dans le lien que tu donnes.
jeca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2007, 10h18   #3
Invité de passage
 
Inscription : mai 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 4
Points : 1
Points : 1
Citation:
Envoyé par jeca
Bonjour,
  1. Merci d'éditer ton message et de mettre le code entre les balises 'code' ;
  2. '%m/%d/%Y' ne donne pas un format français, ce serait plutôt '%d/%m/%Y' ;
  3. recherche 'curdate()' dans le lien que tu donnes.
Bonjour,
  1. Désolé mais j'ai cherché comment faire pour le core lors de la saisi de mon message, le # ne me parait pas forcement evident et logique, mais bon. Puis il n'y a que 10 lignes et je trouvais plus lisible avant sans les scrollbars...
  2. Si j'a mis '%m/%d/%Y' c'est que je dois afficher la date anglais, là n'était pas ma question.
  3. Merci pour "l'aide" mais j'ai déjà trouvé :
SELECT *, DATE_FORMAT(dates, '%m/%d/%Y') as datesfr FROM dates WHERE DATEDIFF(dates,CURDATE()) >= 0 ORDER BY dates DESC

@ bientôt
evilcampbell est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2007, 10h30   #4
Membre Expert
 
Inscription : août 2002
Messages : 1 036
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 1 036
Points : 1 166
Points : 1 166
Code :
WHERE dates >= CURDATE()
devrait suffire.
jeca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2007, 10h44   #5
Invité de passage
 
Inscription : mai 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 4
Points : 1
Points : 1
Citation:
Envoyé par jeca
Code :
WHERE dates >= CURDATE()
devrait suffire.
Non ca ne fonctionne pas j'ai une erreur :

Code :
Warning: mysql_fetch_array(): supplied argument IS NOT a valid MySQL result resource IN ... ON line 168
evilcampbell est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2007, 11h26   #6
Membre Expert
 
Inscription : août 2002
Messages : 1 036
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 1 036
Points : 1 166
Points : 1 166
  1. Si tu as installé easyphp, essaie ta requête directement dans phpmyadmin ;
  2. Mets ces lignes dans ton code à la place de ce qui s'y trouve :
    Code :
    1
    2
    3
    4
    5
      $result = mysql_query("SELECT * , DATE_FORMAT(dates, '%m/%d/%Y') as datesfr 
                             FROM dates 
                             WHERE dates >= CURDATE()
                             ORDER BY dates DESC",$connect)
                OR die (mysql_error());
jeca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2007, 14h33   #7
Invité de passage
 
Inscription : mai 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 4
Points : 1
Points : 1
Ca marche cette fois merci.

Mais quelle est la difference avec ce que j'ai fait de mon côté ?
evilcampbell est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h01.


 
 
 
 
Partenaires

Hébergement Web