Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menyegerakkan rekod tontonan ke MySQL dengan PHP

Bagaimana untuk menyegerakkan rekod tontonan ke MySQL dengan PHP

PHPz
PHPzasal
2023-04-12 09:21:33541semak imbas

Baru-baru ini, saya sedang menulis tapak web tontonan video menggunakan PHP dan mendapati bahawa keperluan yang sangat biasa adalah untuk menyimpan sejarah tontonan pengguna ke dalam pangkalan data dan mengemas kininya secara serentak pada bila-bila masa. Berdasarkan keperluan ini, saya mencuba pelbagai kaedah pelaksanaan dan akhirnya memilih penyelesaian menyegerakkan rekod tontonan ke pangkalan data MySQL. Artikel ini akan berkongsi cara saya menggunakan PHP untuk menyegerakkan rekod tontonan ke MySQL.

Mula-mula, saya mencipta jadual yang dipanggil watch_history dalam pangkalan data MySQL yang mengandungi medan berikut: id, user_id, video_id dan created_at. Antaranya, id ialah kunci utama, user_id merujuk kepada ID pengguna, video_id merujuk kepada ID video yang ditonton dan create_at merujuk kepada masa penciptaan rekod.

Seterusnya, dalam kod PHP, saya mencipta kelas yang dipanggil WatchHistory, yang merangkumi kaedah berikut:

  1. add($userId, $videoId): Baharu Rekod tontonan pengguna
  2. getList($userId): Dapatkan senarai rekod tontonan pengguna yang ditentukan
  3. clean($userId): Kosongkan semua rekod tontonan pengguna yang ditentukan

Dalam kaedah tambah, saya menggunakan pernyataan INSERT INTO untuk menambah rekod pada jadual watch_history. Kod sampel adalah seperti berikut:

public function add($userId, $videoId) {
    $created_at = date('Y-m-d H:i:s');
    $sql = "INSERT INTO watch_history (user_id, video_id, created_at) VALUE ('$userId', '$videoId', '$created_at')";
    // 执行 MySQL 插入操作
    // ...
}

Dalam kaedah getList, saya menggunakan pernyataan SELECT untuk mendapatkan semua rekod jam tangan pengguna yang ditentukan daripada jadual watch_history. Kod sampel adalah seperti berikut:

public function getList($userId) {
    $sql = "SELECT * FROM watch_history WHERE user_id = '$userId' ORDER BY created_at DESC";
    // 执行 MySQL 查询操作
    // ...
}

Dalam kaedah bersih, saya menggunakan kenyataan DELETE untuk memadam semua rekod jam tangan pengguna yang ditentukan daripada jadual watch_history. Kod sampel adalah seperti berikut:

public function clean($userId) {
    $sql = "DELETE FROM watch_history WHERE user_id = '$userId'";
    // 执行 MySQL 删除操作
    // ...
}

Akhir sekali, untuk mengelakkan kerap menyambung dan menutup sambungan pangkalan data, saya menggunakan kelas tunggal bernama Pangkalan Data untuk menguruskan sambungan ke pangkalan data MySQL. Kod sampel adalah seperti berikut:

class Database {
    private static $_instance;
    private $_pdo;
    private function __construct() {
        // 连接 MySQL 数据库
        // ...
    }
    public static function getInstance() {
        if (!self::$_instance) {
            self::$_instance = new self();
        }
        return self::$_instance;
    }
    public function query($sql, $params = null) {
        $stmt = $this->_pdo->prepare($sql);
        $stmt->execute($params);
        return $stmt;
    }
}

Pada ketika ini, saya telah berjaya melaksanakan fungsi menyegerakkan rekod tontonan ke pangkalan data MySQL. Walaupun ini hanyalah contoh mudah, saya percaya penyelesaian ini juga boleh dilaksanakan dalam pembangunan sebenar. Saya harap pengalaman saya dapat membantu semua pembangun PHP.

Atas ialah kandungan terperinci Bagaimana untuk menyegerakkan rekod tontonan ke MySQL dengan PHP. 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