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:
Penyelesaian:
Skema Pangkalan Data Dioptimumkan:
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>
Faedah:
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!