Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mencari dan menapis dalam data JSON menggunakan PHP dan MySQL?

Bagaimana untuk mencari dan menapis dalam data JSON menggunakan PHP dan MySQL?

PHPz
PHPzasal
2023-07-12 12:16:361413semak imbas

Bagaimana untuk mencari dan menapis dalam data JSON menggunakan PHP dan MySQL?

Dengan perkembangan pesat Internet dan pengemaskinian berterusan senario aplikasi, pembangun bahagian hadapan selalunya perlu mencari dan menapis dalam jumlah besar data JSON. Gabungan PHP dan MySQL boleh menyediakan fungsi carian dan penapisan yang pantas dan cekap. Artikel ini akan memperkenalkan cara menggunakan PHP dan MySQL untuk mencari dan menapis data JSON, dan memberikan contoh kod yang sepadan.

  1. Mencipta jadual dan data pangkalan data

Mula-mula, buat jadual dalam MySQL dan masukkan beberapa data JSON. Contoh kod adalah seperti berikut:

CREATE TABLE json_data(
    id INT PRIMARY KEY AUTO_INCREMENT,
    data JSON
);

INSERT INTO json_data (data) VALUES 
    ('{"name":"John","age":25,"city":"New York"}'),
    ('{"name":"Alice","age":30,"city":"London"}'),
    ('{"name":"Bob","age":35,"city":"Paris"}'),
    ('{"name":"Emma","age":28,"city":"Dublin"}');
  1. Sambung ke pangkalan data

Gunakan kod PHP di bawah untuk menyambung ke pangkalan data:

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

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

// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
?>
  1. Lakukan operasi carian dan penapis

Menggunakan sampel data berikut, JSON akan diambil daripada pangkalan data, Dan lakukan operasi carian dan penapis:

<?php
$sql = "SELECT data FROM json_data";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // 输出数据
    while($row = $result->fetch_assoc()) {
        $json = json_decode($row['data'], true); // 将JSON数据解码为关联数组

        // 搜索条件
        $searchTerm = "John";

        // 如果姓名匹配搜索条件,则打印出结果
        if($json['name'] == $searchTerm) {
            echo "姓名:" . $json['name'] . ", 年龄:" . $json['age'] . ", 城市:" . $json['city'] . "<br>";
        }
    }
} else {
    echo "0 结果";
}
$conn->close();
?>

Pembolehubah $searchTerm dalam kod di atas mentakrifkan keadaan carian sebagai "John". Jika nama itu sepadan dengan kriteria carian, hasilnya akan dicetak.

  1. Tambah syarat penapis

Untuk menambah syarat penapis, anda boleh menggunakan contoh kod berikut:

<?php
$sql = "SELECT data FROM json_data";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // 输出数据
    while($row = $result->fetch_assoc()) {
        $json = json_decode($row['data'], true);

        // 过滤条件
        $ageFilter = 30;
        $cityFilter = "London";

        // 如果满足过滤条件,则打印出结果
        if($json['age'] > $ageFilter && $json['city'] == $cityFilter) {
            echo "姓名:" . $json['name'] . ", 年龄:" . $json['age'] . ", 城市:" . $json['city'] . "<br>";
        }
    }
} else {
    echo "0 结果";
}

$conn->close();
?>

$ageFilter dan $cityFilter dalam kod di atas menentukan syarat penapis untuk umur dan bandar masing-masing. Jika data memenuhi syarat penapis ini, hasilnya akan dicetak.

Ringkasan:

Melalui langkah di atas, kami belajar cara mencari dan menapis dalam data JSON menggunakan PHP dan MySQL. PHP boleh menanyakan data JSON melalui sambungan MySQL, dan mencari serta menapis mengikut syarat yang ditetapkan. Gabungan ini menyediakan keupayaan carian dan penapisan yang cekap yang boleh membantu pembangun bahagian hadapan dengan cepat memproses sejumlah besar data JSON.

Saya harap artikel ini dapat memberi anda panduan asas tentang cara menggunakan PHP dan MySQL untuk mencari dan menapis dalam data JSON, serta membantu pembaca memahami dan menerapkannya dengan lebih baik melalui contoh kod. Saya berharap anda semua mendapat hasil yang baik apabila menggunakan PHP dan MySQL untuk mencari dan menapis JSON!

Atas ialah kandungan terperinci Bagaimana untuk mencari dan menapis dalam data JSON menggunakan PHP dan MySQL?. 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