Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

PHP/MySQL - Cara menambahkan beberapa tag

anda dapat menggunakan explode()

Untuk mendapatkan larik tag yang dipisahkan dengan koma

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

Kemudian Anda dapat mengulang array untuk dimasukkan ke dalam database

Anda mungkin juga ingin Buat Kueri Anda menyertakan UNIQUE

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

Dengan cara ini Anda tidak akan memiliki dua tag dengan nama yang sama. Lihat di sini untuk penjelasan lebih lanjut tentang UNIK sintaks

Ini dia coding tanpa pengujian 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. Perbaiki "ERROR 1136 (21S01):Jumlah kolom tidak cocok dengan jumlah nilai pada baris 2" saat menggunakan Pernyataan VALUES di MySQL

  2. Menggunakan OR dalam LIKE Query di MySQL untuk membandingkan beberapa bidang

  3. Bagaimana saya bisa memasukkan daftar yang dikembalikan dari kueri mssql pyodbc ke mysql melalui prosedur tersimpan menggunakan pymysql

  4. Bagaimana cara mengurai data Json dari api openlibrary? (dengan baik)

  5. Output PHP kosong dari database MySQL untuk longblob