Requête utilisant timestamp qui ne marche pas :-(
7 messages
• Page 1 sur 1
- Flora51
- Nouveau WRInaute

- Messages: 3
- Inscription: 24 Jan 2008
Requête utilisant timestamp qui ne marche pas :-(
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 !
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

- Messages: 32
- Inscription: 24 Mar 2007
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
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

- Messages: 3
- Inscription: 24 Jan 2008
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
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

- Messages: 192
- Inscription: 12 Sep 2003
Re: Requête utilisant timestamp qui ne marche pas :-(
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

- Messages: 279
- Inscription: 14 Mar 2005
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

- Messages: 3
- Inscription: 24 Jan 2008
Re: Requête utilisant timestamp qui ne marche pas :-(
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
MERCIIIIIIIIIIIIIIIIIIIIIIII
7 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Débuter campagne en utilisant requête large ou exacte ?
- ma requete en Mysql ne marche pas ????
- une requete qui ne marche pas
- A propos de Timestamp
- problème de timestamp en PHP 4
- Conversion timestamp en date mysql
- Outil manipulation/conversion de date/timestamp
- MySQL : Requette des timestamp dans les 7 prochains jours
- encodage des caractères : ça marche, ça marche pas
Consultez la description détaillée des produits ou services de Google suivants : Google Video, Google Video Store
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
