Problème de requête php-mysql

Espace de discussions générales sur l'informatique. Tant au niveau matériel que logiciel.
Post Reply
User avatar
kokoyaya
Admin
Posts: 31645
Joined: 10 Oct 2002 14:12
Location: Moissac (82)
Contact:

Problème de requête php-mysql

Post by kokoyaya »

Bonjour à tous,
J'essaie de bidouiller http://www.breizhenoc.org/actu.php mais ça ne marche pas :(

Code: Select all

<? $req = mysql_query("SELECT topic_title,topic_id,topic_calendar_time,forum_id
											FROM bb_topics 
											WHERE forum_id = '3'
											ORDER by topic_calendar_time ASC ") 
							or die ("erreur sql ".mysql_error()); 


while ( $resultat = mysql_fetch_array($req)) {
	$date = strftime("%A %d %B %Y",strtotime($resultat['topic_calendar_time']));
	print '<h3>['.$date .']</h3>' .$resultat['topic_title'].'<br><a>Plus d\'informations, r&eacute;agir</a><br><br>';
}

mysql_close(); ?>
Comme vous pouvez le voir, il me met partout la date du jour au lieu de topic_calendar_time converti en nom_jour jour moi année :-? Une idée d'où ça peut viendre ?
A terme, j'aimerais même ajouter topic_calendar_time >= (NOW() - INTERVAL 1 DAY) pour n'afficher que les événements >= aujourd'hui mais c'est pas encore fait...
User avatar
Latinus
Admin
Posts: 24965
Joined: 18 Mar 2002 01:00
Location: complètement à l'Ouest
Contact:

Post by Latinus »

Salut,

Tu utilises strtotime, ce qui signifie donc que le champ 'topic_calendar_time' n'est pas alimenté en valeurs au format timestamp unix, n'est-ce pas ?

Déjà, il faudrait voir :
ce que contient réellement $resultat['topic_calendar_time']
Et ensuite :
ce que retourne strtotime($resultat['topic_calendar_time']);
Et aussi, pourquoi pas :
ce que retourne strtotime(une valeur fixée en dur);

:hello:
Les courses hippiques, lorsqu'elles s'y frottent.
User avatar
kokoyaya
Admin
Posts: 31645
Joined: 10 Oct 2002 14:12
Location: Moissac (82)
Contact:

Post by kokoyaya »

Latinus wrote:Tu utilises strtotime, ce qui signifie donc que le champ 'topic_calendar_time' n'est pas alimenté en valeurs au format timestamp unix, n'est-ce pas ?
Si :confused:
Déjà, il faudrait voir :
ce que contient réellement $resultat['topic_calendar_time']
1193871600 par exemple (ça m'a l'air d'être le même forme que les dates de phpbb dans la base de données.
Et ensuite :
ce que retourne strtotime($resultat['topic_calendar_time']);
Et aussi, pourquoi pas :
ce que retourne strtotime(une valeur fixée en dur);

:hello:
Ce sera pour ce soir, j'ai un problème de FTP donc pas possible de tester la chose pour l'instant.
User avatar
Latinus
Admin
Posts: 24965
Joined: 18 Mar 2002 01:00
Location: complètement à l'Ouest
Contact:

Post by Latinus »

kokoyaya wrote:
Latinus wrote:Tu utilises strtotime, ce qui signifie donc que le champ 'topic_calendar_time' n'est pas alimenté en valeurs au format timestamp unix, n'est-ce pas ?
Si :confused:
Donc tu essayes de transformer en timestamp quelque chose qui l'est déjà.
On peut donc réécrire

Code: Select all

$date = strftime("%A %d %B %Y",strtotime($resultat['topic_calendar_time']));
En

Code: Select all

$date = strftime("%A %d %B %Y",$resultat['topic_calendar_time']);
Puisque strftime(); attend une valeur au format timestamp comme deuxième agrument et que c'est déjà le format de $resultat['topic_etc....'];
Petite note sur strftime(); : si le deuxième argument est omis, c'est la date du jour qui est utilisée. strtotime(); devant générer une erreur comme ton code est écrit pour le moment, il se peut qu'il renvoie une valeur vide. Donc, argument timestamp omis, donc date du jour ;)
Déjà, il faudrait voir :
ce que contient réellement $resultat['topic_calendar_time']
1193871600 par exemple (ça m'a l'air d'être le même forme que les dates de phpbb dans la base de données.
c'est bien du timestamp dans phpBB ;)
Les courses hippiques, lorsqu'elles s'y frottent.
User avatar
kokoyaya
Admin
Posts: 31645
Joined: 10 Oct 2002 14:12
Location: Moissac (82)
Contact:

Post by kokoyaya »

Merci bien chef :)
User avatar
kokoyaya
Admin
Posts: 31645
Joined: 10 Oct 2002 14:12
Location: Moissac (82)
Contact:

Post by kokoyaya »

It's marching, marchi :)
En revanche, j'ai essayé de mettre dans la requête mysql

Code: Select all

topic_calendar_time>= (NOW() - INTERVAL 1 DAY)
pour n'afficher que les événements futurs. Une idée de ce qui pourrait merdouiller ici aussi ?
Post Reply