Requête utilisant timestamp qui ne marche pas :-(

Flora51
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 3
Inscription: 24 Jan 2008

Requête utilisant timestamp qui ne marche pas :-(

Message le Jeu Jan 24, 2008 20:24

Bonjour à tous !

Je fais une requête afin de sélectionner dans la table 'annonces' les nouvelles annonces ayant été postées depuis la dernière visite.

La requete est la suivante :

$requete = mysql_query('SELECT * FROM annonces WHERE date>'.$pun_user['last_visit'].'') or die(mysql_error());

$pun_user['last_visit'] est la date de dernière visite sous forme de timestamp
la 'date' est insérée dans la BDD avec time() sous un format datetime.

Le problème est que malgré ma requête, TOUTES les annonces sont sélectionnées.
Lorsque je mets le signe égal ou inférieur, il n'y en a aucune. Je ne comprends pas !

Mikiman
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 32
Inscription: 24 Mar 2007

Message le Jeu Jan 24, 2008 21:13

Bonsoir,

On dirait que l'erreur ne vient pas de la requête SQL mais plutôt de la logique utilisée dans la recherche.

Peux-tu nous donner des informations sur la structure de la table en question et des informations concernant ce que dois faire la requête ?

La requête est, en tout cas, correcte ^^

Cordialement
Mikiman

Flora51
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 3
Inscription: 24 Jan 2008

Message le Jeu Jan 24, 2008 21:58

la table en question est celle regroupant toutes les annonces de mon site d'avis de recherche.

j'ai mis en place sur le site un espace membre à partir du profil utilisateur de mon forum punbb, dans lequel existe la variable pun_user['last_visit'] qui est le timestamp de la dernière visite.

je veux créer une page "nouvelles annonces depuis la dernière visite", d'où cette requête :-)

jarreweb
WRInaute discret
WRInaute discret
 
Messages: 192
Inscription: 12 Sep 2003

Re: Requête utilisant timestamp qui ne marche pas :-(

Message le Ven Jan 25, 2008 10:40

Flora51 a écrit:$pun_user['last_visit'] est la date de dernière visite sous forme de timestamp
la 'date' est insérée dans la BDD avec time() sous un format datetime.

tu compares un timestamp (un entier donc) avec un format datetime (pas un entier)
donc forcément que la comparaison ne puisse se faire
dans ta reqûete, il faut que tu convertisses le champ date en entier

essaye ceci
Code: Tout sélectionner
$requete = mysql_query('SELECT * FROM annonces WHERE UNIX_TIMESTAMP(date)>'.$pun_user['last_visit'].') or die(mysql_error());

Selection A
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 279
Inscription: 14 Mar 2005

Message le Ven Jan 25, 2008 10:41

Flora51 a écrit:$pun_user['last_visit'] est la date de dernière visite sous forme de timestamp
la 'date' est insérée dans la BDD avec time() sous un format datetime.


Attention si je ne m'abuse les format timestamp et datetime sont différent

Flora51
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 3
Inscription: 24 Jan 2008

Re: Requête utilisant timestamp qui ne marche pas :-(

Message le Ven Jan 25, 2008 19:01

jarreweb a écrit:
Flora51 a écrit:$pun_user['last_visit'] est la date de dernière visite sous forme de timestamp
la 'date' est insérée dans la BDD avec time() sous un format datetime.

tu compares un timestamp (un entier donc) avec un format datetime (pas un entier)
donc forcément que la comparaison ne puisse se faire
dans ta reqûete, il faut que tu convertisses le champ date en entier

essaye ceci
Code: Tout sélectionner
$requete = mysql_query('SELECT * FROM annonces WHERE UNIX_TIMESTAMP(date)>'.$pun_user['last_visit'].') or die(mysql_error());


MAMAMIAAAAAAAAA
J'Y CROIS PAS !
CA MARCHE !!!!!!!!!!!!!!!!!
depuis le temps que je cherchais, je viendrai plus souvent sur ce forum :D

MERCIIIIIIIIIIIIIIIIIIIIIIII

jarreweb
WRInaute discret
WRInaute discret
 
Messages: 192
Inscription: 12 Sep 2003

Message le Lun Jan 28, 2008 15:39

y'a pas de quoi :)


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités