Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php menanyakan data pada hari itu

php menanyakan data pada hari itu

PHPz
PHPzasal
2023-05-07 11:59:07904semak imbas

Dengan perkembangan Internet dan pendigitalan, operasi pangkalan data harian telah menjadi kemahiran rutin. Contohnya, dalam pembangunan web, banyak proses perniagaan memerlukan penyimpanan data, pertanyaan dan statistik. Dalam proses ini, menanyakan data hari ini ialah operasi asas tetapi kritikal.

Bahasa PHP ialah bahasa pengaturcaraan bahagian belakang yang biasa dalam pembangunan web Di antara banyak fungsinya, mengendalikan pangkalan data adalah salah satu aspek yang paling penting. Dalam PHP, menanyakan data untuk hari semasa juga merupakan fungsi biasa dan perlu. Mari kita terokai cara untuk menanyakan data hari ini dengan PHP.

Pertama sekali, kita perlu menjelaskan apakah data hari itu. Sudah tentu, jawapan kepada soalan ini akan berbeza-beza bergantung pada senario. Biasanya, data hari merujuk kepada data dari awal hingga akhir hari, iaitu, ia termasuk data hari Syarat pertanyaan ialah medan tarikh dalam jadual data adalah sama dengan tarikh pertanyaan . Dalam aplikasi sebenar, tarikh pertanyaan boleh dipilih oleh pengguna melalui pemilih tarikh, atau ia boleh menjadi tarikh semasa yang diperoleh secara automatik oleh sistem.

Seterusnya, kita perlu menyambung ke pangkalan data. Proses penyambungan ke pangkalan data akan menggunakan alat sambungan seperti mysqli atau PDO dalam PHP untuk menyambung. Format asas sambungan adalah seperti berikut:

//连接到 MySQL 数据库的样例代码
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

//创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);

//检查连接是否正常
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

Dalam coretan kod di atas, $servername menyimpan nama hos MySQL, $username ialah nama pengguna MySQL, $password ialah kata laluan MySQL, dan $dbname ialah nama pangkalan data sambungan yang diperlukan. Selepas sambungan berjaya, anda boleh menggunakan operasi SQL lain untuk menanyakan data.

Seterusnya, kita perlu menjelaskan cara untuk menanyakan data pada hari itu. Jika jadual data kami kelihatan seperti ini:

id name created_at
1 A 2022-10-20 10:00:00
2 B 2022-10-21 13:00:00
3 C 2022-10-22 14:00:00

Kemudian kod untuk menanyakan data hari itu boleh ditulis seperti ini:

//从 MYSQL 数据库中查询当天的数据的样例代码
$date = date('Y-m-d'); //获取当前日期
$sql = "SELECT * FROM my_table WHERE DATE(created_at) = '$date'";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
    //处理数据
} else {
    echo "0 个结果";
}

//释放结果集
mysqli_free_result($result);

//关闭连接
mysqli_close($conn);

Dalam coretan kod di atas, kami mula-mula menggunakan Fungsi date() Dapatkan tarikh semasa dan tetapkan ia kepada pembolehubah $date. Kemudian, kami menggunakan pernyataan SELECT untuk menanyakan semua rekod daripada jadual data my_table dengan medan created_at tarikh bersamaan dengan $date dan hasilnya disimpan dalam pembolehubah $result. Jika terdapat data dalam set hasil, data boleh diproses jika tiada hasil, "0 keputusan" akan dikeluarkan.

Perlu diambil perhatian bahawa jika medan created_at adalah daripada jenis timestamp, pernyataan pertanyaan hendaklah seperti ini: WHERE UNIX_TIMESTAMP(created_at) BETWEEN UNIX_TIMESTAMP('$date 00:00:00') AND UNIX_TIMESTAMP('$date 23:59:59').

Selain itu, kami juga boleh menggunakan sambungan PDO untuk membuat pertanyaan. Kod tersebut adalah seperti berikut:

//使用 PDO 扩展从 MySQL 数据库中查询当天的数据的样例代码
$date = date('Y-m-d'); //获取当前日期
$dbh = new PDO('mysql:host=localhost;dbname=myDB', $username, $password);

$stmt = $dbh->prepare("SELECT * FROM my_table WHERE DATE(created_at) = ?");
$stmt->execute([$date]);

$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);

//处理数据
foreach ($stmt->fetchAll() as $row) {
    //处理数据
}

//关闭连接
$dbh = null;

Dalam coretan kod di atas, kami mula-mula menggunakan fungsi new PDO() untuk menyambung ke pangkalan data, dan menggunakan kaedah prepare() untuk menyediakan pernyataan SQL, di mana ? ialah pemegang tempat dalam pernyataan SQL . Kemudian, dalam kaedah execute(), kami memasukkan tarikh pertanyaan, melaksanakan pertanyaan dan menyimpan hasil dalam pembolehubah $stmt. Selepas mendapat set keputusan, kita boleh menetapkan kaedah mendapatkan data melalui kaedah setFetchMode(), seperti mengembalikan data dalam bentuk tatasusunan bersekutu FETCH_ASSOC. Akhir sekali, kami boleh mengeluarkan semua data dan memprosesnya melalui kaedah fetchAll().

Ringkasan: Menyoal data hari ini ialah salah satu operasi biasa dalam PHP, yang boleh dicapai menggunakan sambungan mysqli atau PDO. Kuncinya ialah dengan jelas menanyakan tarikh, dan membuat pertanyaan, memproses dan mengeluarkan data melalui sintaks asas atau kaedah sambungan pelbagai bahasa.

Lampiran: Artikel ini adalah untuk rujukan pembelajaran sahaja dan tidak boleh digunakan untuk tujuan komersial. Kami memohon maaf atas sebarang pelanggaran hak pengarang.

Atas ialah kandungan terperinci php menanyakan data pada hari itu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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