Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memisahkan dan Menyimpan Kata Kunci daripada Senarai Dipisahkan Koma dalam PHP dan MySQL?

Bagaimana untuk Memisahkan dan Menyimpan Kata Kunci daripada Senarai Dipisahkan Koma dalam PHP dan MySQL?

Mary-Kate Olsen
Lepaskan: 2024-11-04 04:45:29
asal
761 orang telah melayarinya

How to Split and Store Keywords from a Comma-Separated List in PHP and MySQL?

Pemisahan dan Penyimpanan Kata Kunci yang Berkesan dalam PHP dan MySQL

Dalam pengurusan pangkalan data, anda mungkin menghadapi senario di mana anda perlu mengekstrak dan menyusun kata kunci daripada bidang yang diberikan. Artikel ini menunjukkan pendekatan yang dioptimumkan menggunakan PHP dan MySQL untuk memisahkan kata kunci, menyimpannya dalam jadual khusus dan memautkannya kembali kepada data asal menggunakan jadual perantaraan.

Pernyataan Masalah:

Memandangkan jadual yang mengandungi ID siaran dan teg berkaitan yang disimpan sebagai senarai dipisahkan koma, tugas itu melibatkan:

  • Memisahkan teg kepada kata kunci individu
  • Menyimpan kata kunci unik dalam jadual berasingan
  • Mewujudkan sambungan perantaraan antara siaran dan kata kunci

Penyelesaian:

Skema Pangkalan Data Dioptimumkan:

  • Post_Tags: Menyimpan data dan teg catatan asal sebagai rentetan
  • Kata kunci: Menyimpan kata kunci unik
  • Post_Keywords: Jadual perantaraan memautkan catatan kepada kata kunci

Kod PHP:

<code class="php">// Connect to the database
$mysqli = new mysqli($host, $user, $password, $database);

// Initialize variables
$stmt = $mysqli->prepare("SELECT post_id, tags_csv FROM post_tags");
$stmt->execute();
$result = $stmt->get_result();

// Loop through the post tags
while ($row = $result->fetch_assoc()) {
    $post_id = $row['post_id'];
    $tags = explode(',', $row['tags_csv']);

    // Insert unique keywords into the Keywords table
    foreach ($tags as $tag) {
        $stmt = $mysqli->prepare("INSERT IGNORE INTO keywords (name) VALUES (?)");
        $stmt->bind_param("s", $tag);
        $stmt->execute();
    }

    // Get keyword IDs and insert into Post_Keywords table
    foreach ($tags as $tag) {
        $stmt = $mysqli->prepare("SELECT keyword_id FROM keywords WHERE name = ?");
        $stmt->bind_param("s", $tag);
        $stmt->execute();
        $result = $stmt->get_result();
        $keyword_id = $result->fetch_assoc()['keyword_id'];

        $stmt = $mysqli->prepare("INSERT IGNORE INTO post_keywords (post_id, keyword_id) VALUES (?, ?)");
        $stmt->bind_param("ii", $post_id, $keyword_id);
        $stmt->execute();
    }
}</code>
Salin selepas log masuk

Faedah:

  • Skema yang dioptimumkan untuk pertanyaan kata kunci yang cekap
  • Memastikan keunikan kata kunci dengan menggunakan jadual Kata Kunci
  • Mengekalkan integriti data melalui perhubungan jadual perantaraan

Nota:

Penyelesaian yang disediakan hanya tertumpu pada fungsi teras dan tidak mengambil kira aspek tambahan seperti pengesahan data atau pengendalian ralat.

Atas ialah kandungan terperinci Bagaimana untuk Memisahkan dan Menyimpan Kata Kunci daripada Senarai Dipisahkan Koma dalam PHP dan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan