Partage
  • Partager sur Facebook
  • Partager sur Twitter

champ date ??

Sujet résolu
    20 mars 2011 à 9:31:19

    bonjour,

    j'ai fini mon comteur tout fonctionne : image de mes stats
    <image>
    http://www.univers-de-gribouille.fr/stats_image.jpg</image>
    mais je voudrais savoir le champs date comment fonctionne t-il ?

    car je voudrais en faite afficher les liens des membres exp: que si total_clic<=20 pour les 24heures ecoulées

    si c'est possible quel type choisir pour le champ date car pour le moment il est en timestamp et dans ma condition je le rentre comment
    merci pour votre aide
    • Partager sur Facebook
    • Partager sur Twitter
      20 mars 2011 à 10:30:53

      Type DATETIME, et tu insères comme ceci
      <?php $sql = 'INSERT INTO ta_table (col_date) VALUES (NOW())';

      Donc je te mets en garde, col_date représente ici le nom de la colonne et NOW() est ici une fonction SQL, elle s'insère donc comme je viens de le faire. Pas de fioriture autour, pas de quotes, ce n'est pas une chaine de caractère que l'on veut insérer, ce n'est pas non plus une fonction php. Donc ce qui est en dessous est faux et archi faux

      <?php $sql = 'INSERT INTO ta_table (col_date) VALUES ("NOW()")';
      <?php $sql = 'INSERT INTO ta_table (col_date) VALUES ('.NOW().')';
      • Partager sur Facebook
      • Partager sur Twitter
        20 mars 2011 à 18:51:36

        merci
        donc j'ai changer le type de mon champs
        mais dans ma requete pour allez chercher le nombre de clic effectue durant les dernieres 24h je l'ecris comment???
        • Partager sur Facebook
        • Partager sur Twitter
          20 mars 2011 à 19:02:56

          Quelque chose comme ça

          SELECT nb_clics FROM stats WHERE DATEDIFF(NOW(), col_date) > 1
          


          Ou encore


          SELECT nb_clics FROM stats WHERE DATE_ADD(col_date, INTERVAL 1 DAY) >= NOW()
          
          • Partager sur Facebook
          • Partager sur Twitter
            20 mars 2011 à 19:56:42

            merci beaucoup je vais tester et je vous tiens au courant

            :):)
            • Partager sur Facebook
            • Partager sur Twitter
              20 mars 2011 à 20:02:11

              Je poste pour t'éviter d'avoir à éditer ...
              (La prochaine fois, penses-y ! Ne poste pas juste pour dire je vais tester, on s'en fiche que tu testes ou non, poste uniquement pour poser de nouvelles questions ou clore le sujet)
              • Partager sur Facebook
              • Partager sur Twitter
                25 mars 2011 à 17:43:16

                bonjour
                alors cette requete ok elle fonctionne mais ca que je ne comprend pas c'est dans ma table dans date je n'ai rien *

                alors j'ai essayer avec
                $sql = 'INSERT INTO clic (ma_date) VALUES (NOW())';
                mais il me repond que Field 'cat_5_mn' n'a pas de valeur explicite
                enfait il me prend le premier champs
                je ne peux pas le faire directement par phpadmin si oui comment??
                car je ne sais pas ou mettre NOW()
                j'ai essayer dans default mais ca marche pas
                • Partager sur Facebook
                • Partager sur Twitter
                  25 mars 2011 à 18:25:07

                  C'est quoi le vrai message d'erreur que tu obtiens ?
                  Probablement que tu dois insérer une valeur dans cette colonne pour exécuter ta requête car cette colonne doit être non null.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    25 mars 2011 à 18:55:07

                    l'erreur
                    connectuniversdegribou(); Erreur SQL !INSERT INTO clic (ma_date) VALUES (NOW())
                    Field 'cat_5_mn' doesn't have a default value

                    ma table est propre je viens de la refaire
                    CREATE TABLE `universdegribou`.`clic` (
                    `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
                    `cat_5_mn` INT NOT NULL ,
                    `cat_15_mn` INT NOT NULL ,
                    `cat_30_mn` INT NOT NULL ,
                    `cat_1_h` INT NOT NULL ,
                    `cat_24_h` INT NOT NULL ,
                    `total_clic` INT NOT NULL ,
                    `ma_date` DATETIME NOT NULL ,
                    `username` VARCHAR( 16 ) NOT NULL
                    • Partager sur Facebook
                    • Partager sur Twitter
                      25 mars 2011 à 19:25:28

                      Donc c'est bien ce que je disais, tu ne peux pas faire un INSERT en insérant uniquement la date, tu dois également renseigner les colonnes qui sont NOT NULL.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        25 mars 2011 à 19:50:10

                        oui mais là je ne peux pas c'est mon compteur de clic
                        alors je ne sais pas quoi faire
                        c'est bien compliquer pour une debutante comme moi
                        • Partager sur Facebook
                        • Partager sur Twitter
                          25 mars 2011 à 19:51:51

                          Je ne peux pas savoir pour toi, c'est ton application. Je peux t'aider pour la syntaxe SQL, la modélisation des tables mais si toi-même tu ne comprends pas ce que tu fais...
                          • Partager sur Facebook
                          • Partager sur Twitter
                            25 mars 2011 à 20:23:14

                            ben dejà la difference entre null et no null
                            car des les tutos ils en parlent meme pas ??

                            et quand je dis que je sais pas quoi faire c'est je ne sais pas comment resoudre ce probleme
                            vu que le compteur est incredimenter a chaque clic des membres
                            et pour ce faire je fais un update mais la date je peux peu etre la mettre en meme temps
                            voilà c'est ce genre de question que je ne sais pas
                            • Partager sur Facebook
                            • Partager sur Twitter
                              25 mars 2011 à 21:00:38

                              Bah une colonne NULL c'est une colonne dont il n'est pas nécessaire de renseigner une valeur lors d'un INSERT, donc NOT NULL c'est l'inverse... Et non les tutoriels n'en parlent pas mais en même temps, la seule appellation coule de source, fin bref.

                              Quant à la résolution de ton problème, il est pourtant simple. Tu renseignes les champs qui doivent l'être (ceux en NOT NULL), je te l'ai déjà dis. Si tu ne sais pas les renseigner, je ne vois pas pourquoi tu les as crée dans ce cas... Sinon tu peux toujours modifier ta table pour les mettre en NULL.

                              Et pour incrémenter (et non incrédimenter qui n'existe pas :-° ) le compteur de clic tout en mettant à jour la date,

                              UPDATE clic SET total_clic = total_clic + 1, ma_date = NOW() ...
                              


                              Tu complètes la requête si besoin.
                              • Partager sur Facebook
                              • Partager sur Twitter

                              champ date ??

                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                              • Editeur
                              • Markdown