Rumah php教程 php手册 如何实现日期比较,暨实现显示5天内,显示10天内的记录

如何实现日期比较,暨实现显示5天内,显示10天内的记录

Jun 21, 2016 am 09:06 AM
days mysql select

比较|显示

主要的论点是集中在SELECT something FROM table
WHERE TO_DAYS(NOW()) - TO_DAYS(date_col)

MYSQL的TO_DAYS(DATE)函数是这样说明的:
传回DATE到公元0年的总日数,我测试了一下
mysql>select to_days(now(0));
+--------------------------+
| TO_DAYS(NOW()) |
+--------------------------+
| 730839 |
+--------------------------+

出来的是当前时间距离公元0年的总日数,接着我试着用上面的语句测试;

mysql>select TO_DAYS(NOW()) - TO_DAYS(date_col) 出现结果:
ERROR 1054:Unknown column 'date_col' in 'field first'

此路不通了,我就试着直接把5代到date_col里去

mysql>select to_days(now()) - to_days(5);
出现结果:
+---------------------------+
|to_days(now()) - to_days(5)|
+---------------------------+
| NULL |
+---------------------------+

啊?不会吧?这样也不行啊?
我接着试命令
mysql>select 。。。。

突然猛的想到,嘿嘿,to_days(now())出来的是整数,我直接跟整数运算就行了,何必再to_days(date)呢?马上试验

mysql>select to_days(now()) - 5;
+--------------------------+
| to_days(now()) -5 |
+--------------------------+
| 730834 |
+--------------------------+


OK,万岁,终于得到了我想要的结果,呵呵 下面就是在PHP代码中用SELECT 查询了

我存数据库向来的习惯就是DATEANDTIME用NOW()直接赋值,显示的时候不用格式化,直接取出来就能用,

下面是我的一个库的部分结构
CREATE TABLE infomess (
infoid int(11) NOT NULL auto_increment,
topic varchar(255) NOT NULL,
……
email varchar(50),
dateandtime datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
PRIMARY KEY (infoid)
);


这里的DATEANDTIME是标准的日期格式,然后我要查询5天内的记录,下面是SQL查询语句
$sql="select * from infomess where to_days(dateandtime) >= (to_days(now()) - 5) order by infoid desc limit $offset,$psize";

就要一个where to_days(dateandtime) >= (to_days(now()) - 5)就够了 后面的是另外的,这里的5可以设为一个变量

where to_days(dateandtime) >= (to_days(now()) - $limitdays)

然后$limitdays可以用GET方式传递(多数是有GET方式传递)

在你的PHP后面跟上?limitdays=5就行了 显示10天内也一样,$limitdasy改成10就行了

以上是利用MYSQL函数得到这样的结果,以上的结果都经过测试,因为时间匆忙,如果代码有什么问题,请跟帖提出,谢谢


还有朋友说利用UNIX戳记来得到这样的结果,请问哪位写过这样的代码,贴点出来,供大家参考比较,也可以测试判断一下PHP函数还是MYSQL函数实现的效率高

 



Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara membuka phpmyadmin Cara membuka phpmyadmin Apr 10, 2025 pm 10:51 PM

Anda boleh membuka phpmyadmin melalui langkah -langkah berikut: 1. Log masuk ke panel kawalan laman web; 2. Cari dan klik ikon phpmyadmin; 3. Masukkan kelayakan MySQL; 4. Klik "Login".

MySQL: Pengenalan kepada pangkalan data paling popular di dunia MySQL: Pengenalan kepada pangkalan data paling popular di dunia Apr 12, 2025 am 12:18 AM

MySQL adalah sistem pengurusan pangkalan data relasi sumber terbuka, terutamanya digunakan untuk menyimpan dan mengambil data dengan cepat dan boleh dipercayai. Prinsip kerjanya termasuk permintaan pelanggan, resolusi pertanyaan, pelaksanaan pertanyaan dan hasil pulangan. Contoh penggunaan termasuk membuat jadual, memasukkan dan menanyakan data, dan ciri -ciri canggih seperti Operasi Join. Kesalahan umum melibatkan sintaks SQL, jenis data, dan keizinan, dan cadangan pengoptimuman termasuk penggunaan indeks, pertanyaan yang dioptimumkan, dan pembahagian jadual.

Cara menggunakan redis berulir tunggal Cara menggunakan redis berulir tunggal Apr 10, 2025 pm 07:12 PM

Redis menggunakan satu seni bina berulir untuk memberikan prestasi tinggi, kesederhanaan, dan konsistensi. Ia menggunakan I/O multiplexing, gelung acara, I/O yang tidak menyekat, dan memori bersama untuk meningkatkan keserasian, tetapi dengan batasan batasan konkurensi, satu titik kegagalan, dan tidak sesuai untuk beban kerja yang berintensifkan.

Tempat Mysql: Pangkalan Data dan Pengaturcaraan Tempat Mysql: Pangkalan Data dan Pengaturcaraan Apr 13, 2025 am 12:18 AM

Kedudukan MySQL dalam pangkalan data dan pengaturcaraan sangat penting. Ia adalah sistem pengurusan pangkalan data sumber terbuka yang digunakan secara meluas dalam pelbagai senario aplikasi. 1) MySQL menyediakan fungsi penyimpanan data, organisasi dan pengambilan data yang cekap, sistem sokongan web, mudah alih dan perusahaan. 2) Ia menggunakan seni bina pelanggan-pelayan, menyokong pelbagai enjin penyimpanan dan pengoptimuman indeks. 3) Penggunaan asas termasuk membuat jadual dan memasukkan data, dan penggunaan lanjutan melibatkan pelbagai meja dan pertanyaan kompleks. 4) Soalan -soalan yang sering ditanya seperti kesilapan sintaks SQL dan isu -isu prestasi boleh disahpepijat melalui arahan jelas dan log pertanyaan perlahan. 5) Kaedah pengoptimuman prestasi termasuk penggunaan indeks rasional, pertanyaan yang dioptimumkan dan penggunaan cache. Amalan terbaik termasuk menggunakan urus niaga dan preparedStatemen

Mengapa menggunakan mysql? Faedah dan kelebihan Mengapa menggunakan mysql? Faedah dan kelebihan Apr 12, 2025 am 12:17 AM

MySQL dipilih untuk prestasi, kebolehpercayaan, kemudahan penggunaan, dan sokongan komuniti. 1.MYSQL Menyediakan fungsi penyimpanan dan pengambilan data yang cekap, menyokong pelbagai jenis data dan operasi pertanyaan lanjutan. 2. Mengamalkan seni bina pelanggan-pelayan dan enjin penyimpanan berganda untuk menyokong urus niaga dan pengoptimuman pertanyaan. 3. Mudah digunakan, menyokong pelbagai sistem operasi dan bahasa pengaturcaraan. 4. Mempunyai sokongan komuniti yang kuat dan menyediakan sumber dan penyelesaian yang kaya.

Cara menyambung ke pangkalan data Apache Cara menyambung ke pangkalan data Apache Apr 13, 2025 pm 01:03 PM

Apache menyambung ke pangkalan data memerlukan langkah -langkah berikut: Pasang pemacu pangkalan data. Konfigurasikan fail web.xml untuk membuat kolam sambungan. Buat sumber data JDBC dan tentukan tetapan sambungan. Gunakan API JDBC untuk mengakses pangkalan data dari kod Java, termasuk mendapatkan sambungan, membuat kenyataan, parameter mengikat, melaksanakan pertanyaan atau kemas kini, dan hasil pemprosesan.

Pantau titisan redis dengan perkhidmatan pengeksport redis Pantau titisan redis dengan perkhidmatan pengeksport redis Apr 10, 2025 pm 01:36 PM

Pemantauan yang berkesan terhadap pangkalan data REDIS adalah penting untuk mengekalkan prestasi yang optimum, mengenal pasti kemungkinan kesesakan, dan memastikan kebolehpercayaan sistem keseluruhan. Perkhidmatan Pengeksport Redis adalah utiliti yang kuat yang direka untuk memantau pangkalan data REDIS menggunakan Prometheus. Tutorial ini akan membimbing anda melalui persediaan lengkap dan konfigurasi perkhidmatan pengeksport REDIS, memastikan anda membina penyelesaian pemantauan dengan lancar. Dengan mengkaji tutorial ini, anda akan mencapai tetapan pemantauan operasi sepenuhnya

Cara Memulakan MySQL oleh Docker Cara Memulakan MySQL oleh Docker Apr 15, 2025 pm 12:09 PM

Proses memulakan MySQL di Docker terdiri daripada langkah -langkah berikut: Tarik imej MySQL untuk membuat dan memulakan bekas, tetapkan kata laluan pengguna root, dan memetakan sambungan pengesahan port Buat pangkalan data dan pengguna memberikan semua kebenaran ke pangkalan data

See all articles