Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

PHP / MySQL - Cách thêm nhiều thẻ

bạn có thể sử dụng boom ()

Để nhận một mảng thẻ được phân tách bằng dấu phẩy

$tag_string = "t1, t2, t3";
$tags = explode(",", $tag_string );
echo $tags[0]; // t1
echo $tags[1]; // t2

Sau đó, bạn có thể lặp qua mảng để chèn vào cơ sở dữ liệu

Bạn cũng có thể muốn Tạo Truy vấn của mình bao gồm UNIQUE

CREATE TABLE tags (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
tag VARCHAR(255) NOT NULL,
PRIMARY KEY (id),
UNIQUE(`tag`)
);

Bằng cách này, bạn sẽ không có hai thẻ trùng tên. Hãy xem ở đây để biết thêm giải thích về DUY NHẤT cú pháp

Here Goes viết mã mà không cần kiểm tra xD

//Assuming you have already added the question and the mysql_insert_Id() == 1
//where mysql_insert_Id() is the last id added to the question table

if (isset($_POST['tags'])){
    $tags = explode(",", $_POST['tags']);

    for ($x = 0; $x < count($tags); $x++){

        //Due to unique it will only insert if the tag dosent already exist
        mysql_query("INSERT INTO tag VALUES(NULL, {$tags[x]})");

        //Add the relational Link
        mysql_query("INSERT INTO question_tag VALUES(NULL, (SELECT tags.Id FROM tags WHERE tags.tag = {$tags[x]}), 1)");
    }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. So sánh thời gian chuyển đổi dự phòng proxy cơ sở dữ liệu - ProxySQL, MaxScale và HAProxy

  2. Văn bản bằng tiếng Bengali không được hiển thị trong tệp Unicode CSV

  3. không được hỗ trợ Quét, lưu trữ trình điều khiển. Loại giá trị [] uint8 thành loại * thời gian.Thời gian

  4. Làm cách nào để thiết lập biến môi trường PYTHON_EGG_CACHE trên Mac?

  5. Làm cách nào để chuyển dữ liệu web localStorage đã lưu sang tập lệnh php?