PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Re : MySQL, PostgreSQL, etc... » Problème de date PHP/Mysql » 21-07-2011 13:16:27

Cooooool, ça marche ^^ et en plus j'ai compris !!! wink
Encore merci pour ton aide Jc!

#2 Re : MySQL, PostgreSQL, etc... » Problème de date PHP/Mysql » 21-07-2011 13:16:27

Hum...
Désolé mais je suis pas très doué ^^
alors voici ma nouvelle requete:
    $reponse = $bdd->query('SELECT Nom, Prenom, Mail FROM expf WHERE Datedecreation BETWEEN DATEDIFF(NOW(), INTERVAL 6 MONTH) AND DATEDIFF(NOW(), INTERVAL 7 MONTH)');
Mais il y une erreur apparement au niveau de la syntaxe...


Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AND DATEDIFF(NOW(), INTERVAL 7 MONTH)' at line 1


Hé sinon le champ a mettre en current_timestamp c'est bien le Datecreation, où mes dates sont enregistrées grâce au formulaire via ma BDD?

#4 Re : MySQL, PostgreSQL, etc... » Problème de date PHP/Mysql » 21-07-2011 13:16:27

Je peut modifier datedecreation1, mais le 2 me donne ça:
en datetime:

MySQL a répondu: Documentation
#1067 - Invalid default value for 'datedecreation2'

en timestamp:

MySQL a répondu: Documentation
#1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause

Hum, je vois ou tu veut en venir a peu près, mais, le BDD n'en fait qu'a sa tête wink

Merci de ta réponse précise et rapide

#5 MySQL, PostgreSQL, etc... » Problème de date PHP/Mysql » 21-07-2011 13:16:27

noobduphp
Réponses : 7

Bonjour,
Voila, je dois réaliser un formulaire, le but de cette page php est de m'afficher les personnes "inscrites" dans ma base de donnée depuis entre 6 et 7 mois.
En gros, je veut une page qui m'affiche l'email, le prénom, le nom et la date d'inscription + 6mois si cela fait entre 6 et 7 mois que le client est nouveau hmm.
L'objectif étant d'envoyer un mail à l'inscrit 6 mois après.:rolleyes:
Du coup, je peut faire sa tout les mois (7-6).
Indications:
Page indépendante, il y aura seulement un lien dans la page d'acceuil, donc pas de transmition d'information.
Les dates enregistrées sont en "mode USA".
La "Datedecreation" est le champ contenant la date d'"inscription" du contact.
Si je ne vous ai pas souler avec tout ça et si vous avez la réponse répondez moi svp ^^.
Voici mon code:


    $reponse = $bdd->query('SELECT Nom, Prenom, Mail, DATE_ADD(Datedecreation, INTERVAL 6 MONTH) AS datedecreation1, DATE_ADD(Datedecreation, INTERVAL 7 MONTH) AS datedecreation2 FROM expf  WHERE CURRENT_DATE <= datedecreation2 AND CURRENT_DATE >= datedecreation1 ORDER BY datedecreation1 DESC');

        echo "Voici la liste des contacts associées a leurs date limite:";
        echo '<br />';


       while ($donnees = $reponse->fetch())
    {   
        echo $donnees['Nom'];
        echo $donnees['Prenom'];
        echo $donnees['Mail']
               echo $donnees['datedecreation2'].'<br />';
    }

Le souci: roll Avec ce code, aucun de mes contacts ne sont visibles, j'ai essayer en créant un contact bidon puis en remplaçant 6 month par 1 seconde et 7 month par 1 hour...
Mais rien ne s'affiche, j'ai ajouté les champs suivants dans ma base de donnée: datedecreation1 et datedecreation2.
J'ai essayé avec des echo et les variable datedecreation1 et datedecreation2 sont bien Datedecreation+6mois et Datedecreation+7mois.
D'habitude en bidouillant je m'en sors... mais là...
Voila je voulais des avis extérieurs sur ce bout de code et quelques réponses, merci ^^

Pied de page des forums

Propulsé par FluxBB