Probleme de TIMESTAMP

Eléphant du PHP | 250 Messages

11 oct. 2008, 16:15

Si tu y arrives avec un "SELECT ...", je te jure que je boufferai mon chapeau !
Heu...si tu en as un pour moi Cyrano je sens comme une petite faim, là...
"L'histoire, à l'image de toutes choses dans l'univers, semble avoir comme unique règle le côté ondulatoire."

Eléphanteau du PHP | 22 Messages

11 oct. 2008, 17:40

Bonjour
Excusez moi d'intervenir, mais ton champs se nomme 'date', et il me semble lire 'dateS' sur ta requête...peut être ça, non?
Car on m'a dit plus haut de ne pas mettre "date" donc j'ai changé par "dates".


Cyrano :D ..

Désolé en effet c'est juste que je ne suis pas habitué à parlé de php et bases de données.

En fait je ne comprend pas ce que tu me demnde, dit moi juste l'endroit ou ce trouve exactement ce que tu veux et je te le donnerait.

Dans mes fichiers php ?
Dans PhpmyAdmin ? (si oui .. où exactement)

Merci.

Mammouth du PHP | 19672 Messages

11 oct. 2008, 18:32

:shock:
...
...
ok, je crois que je commence à voir sommairement le problème : tu utilises un truc tout fait genre CMS que tu as tenté d'adapter à ton goût, sauf que tu es tombé sur un os et, en réalité, tu n'as absolument aucune connaissance en programmation, que ce soit PHP ou SQL, je me trompe ???

Si ma conclusion est bonne ou très approchante, on est pas sorti de l'auberge... et toi encore moins. On peut t'aider à avancer dans ton apprentissage, mais ça signifie que tu apprends à programmer, pas à bidouiller du code tout fait auquel tu ne comprends rien du tout. La programmation, c'est un métier, ça peut devenir même extrêmement passionnant, mais il faut commencer par le commencement et ne pas confondre vitesse et précipitation : en d'autres termes, si tu veux mettre quelque chose en ligne, programme-le toi-même au lieu d'utiliser un CMS. Quand tu maitriseras au moins les bases fondamentales du PHP et du SQL tu pourras commencer à songer aux CMS à la condition expresse d'en comprendre la structure et le fonctionnement. Ça t'évitera de poser des question comme la toute dernière qui me laisse, je dois l'avouer, un peu sans voix.

Et pour ta culture, on ajoute une ligne dans une table de base de données avec une requête commençant par INSERT INTO...etc...
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 22 Messages

11 oct. 2008, 19:58

Je n'utilise pas de CMS ni de truks déjà fait.

j'ai fait mon site en html tout seul, un ami m'a aider pour le php, je suis en train de l'apprendre.

voilà la ligne demandée que j'ai été prendre dans la bdd

Code : Tout sélectionner

INSERT INTO `news` VALUES (1, 'titre de la news', '0000-00-00 00:00:00');
'dates' et 'id' sont bien sur des éléments mit automatiquement par la requete.
mon probleme est que 'dates' n'indique pas la date.

Merci.

Mammouth du PHP | 19672 Messages

11 oct. 2008, 22:08

On progresse...

Mais puisque tu es en phase d'apprentissage, je vais te faire une recommandation : fais preuve dès maintenant de rigueur et de discipline dans ta manière d'écrire du code.

La première chose pour le SQL que tu dois t'efforcer de mettre en pratique, c'est de nommer les colonnes où tu veux insérer des données et de n'indiquer que les valeurs que tu veux effectivement insérer.

Au vu de ta requête, tu as trois colonnes dans cette table :
- la clé primaire;
- une colonne de type texte;
- un colonne de date.

Si ces colonnes ont pour noms news_id, news_titre et news_date, alors la requête devrait normalement ressembler à ceci :

Code : Tout sélectionner

INSERT INTO `news`(news_id, news_titre, news_date) VALUES (1, 'titre de la news', '0000-00-00 00:00:00');
Mais ta clé primaire devrait être en mode AUTO_INCREMENT : on indiquera donc pas de valeur ni la colonne. La requête devient alors :

Code : Tout sélectionner

INSERT INTO `news`(news_titre, news_date) VALUES ('titre de la news', '0000-00-00 00:00:00');
Tu as indiqué que tu voulais mettre une date automatique, mais si j'ai correctement suivi, tu veux mettre la date du moment de l'insertion. En indiquant cette valeur-ci, elle va naturellement s'inscrire : le format est valide... et ne correspond à rien. Donc soit tu ne mets rien du tout et tu fais également sauter cette colonne de ta requête, soit tu utilises une fonction SQL pour indiquer "maintenant", et ta requête va alors devenir :

Code : Tout sélectionner

INSERT INTO `news`(news_titre, news_date) VALUES (1, 'titre de la news', NOW());
Essaye ça et reviens si un point t'échappe encore. Ceci dit, je te suggère de te créer un petit projet basique à programmer et penches-toi surtout sur la méthodologie. Écrire du code, c'est à la portée de n'importe qui, mais écrire du code optimisé et fonctionnel, c'est une autre paire de manches. Ton sens de l'ordre et de la méthode feront la différence.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: