Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

PHP/MySQL - एकाधिक टैग कैसे जोड़ें

आप explode() का उपयोग कर सकते हैं

अल्पविराम द्वारा अलग किए गए टैग की एक सरणी प्राप्त करने के लिए

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

फिर आप डेटाबेस में डालने के लिए सरणी के माध्यम से लूप कर सकते हैं

हो सकता है कि आप अपनी क्वेरी बनाएँ में UNIQUE . भी शामिल करना चाहें

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

इस तरह आपके पास एक ही नाम के दो टैग नहीं होंगे। पर और स्पष्टीकरण के लिए यहां देखें। अद्वितीय वाक्य रचना

यहाँ 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. PHP का उपयोग करते हुए IN क्लॉज के साथ MySQL को क्वेरी करना

  2. CryptDB - प्रॉक्सी से कनेक्ट नहीं हो सकता (ERROR 1105 (HY000):(प्रॉक्सी) सभी बैकएंड नीचे हैं)

  3. Auto_increment मानों का पुन:उपयोग कैसे करें?

  4. एडब्ल्यूएस MySQL आरडीएस बनाम एडब्ल्यूएस डायनेमोडीबी

  5. सी # + MySQL ने डिप्लिकेट कुंजी अद्यतन समस्याओं पर डब्ल्यू/ऑन तैयार किया है