2012-09-14 20 views
5

मैं चेक बॉक्स और मानों की तालिका है, एक उपयोगकर्ता एक चेकबॉक्स वे एक सरणी सादगी खातिर checkedHW बुलाया में आईडी के मूल्य का चयन का चयन करता है, तो यह है कि क्या कोड की तरह लग रहा है:एक कॉलम mysql में एकाधिक मान डालें?

$ids = implode(',',arrayofids); 

$sql = "insert into table(id, type) values($ids,type); 
$db->query($sql); 

परीक्षण के लिए गूंज क्वेरी :

"insert into table('id1,id2','type') 

मैं लगा कि अगर इस क्वेरी के माध्यम से मैं पाश मैं परिकल्पित ऐसा कर सकता है:

"insert into table('id1','type');" 

"insert into table('id2','type');" 

लेकिन मैं नहीं कर रहा हूँ ई xactly काफी कैसे करना सुनिश्चित करें, किसी भी मदद होगी अद्भुत :)

मैं वास्तव में का उपयोग कर इसे हल:

for($i=0;$i<count(arrayofids); $i++){ 
$sql = "insert into table(id,type) values(array[$i], 'type'"; 
$db->query($sql);} 

मुझे आशा है कि कोई मदद करता है और मदद के लिए आप लोगों को धन्यवाद!

+0

मुझे लगता है कि 'id' डेटाप्रकार पूर्णांक है। – diEcho

+0

मैंने अभी एक int cast जोड़ा है और यह केवल पहले मान – bubbles

उत्तर

6

आप कुछ इस तरह कर सकता है:

$base = 'INSERT INTO table (id, type) VALUES ('; 
$array = array(1, 2, 3, 4); 
$values = implode(", 'type'), (", $array); 
$query = $base . $values . ", 'type')"; 

$db->query($query); 

यह वही प्रस्तुत हो रही किया जाएगा:

INSERT INTO table (id, type) VALUES (1, 'type'), (2, 'type'), (3, 'type'), (4, 'type')
+0

के लिए एक पंक्ति डालता है, मैं इंपोड का उपयोग किये बिना इसे हल करने में सक्षम था, लेकिन मदद के लिए धन्यवाद! – bubbles

0

दोनों क्वेरी पूरी तरह से अलग

insert into table('id1,id2','type') एकल पंक्ति

ID1 आईडी 2 सम्मिलित होगा | टाइप

जबकि

insert into table('id1','type');" 

insert into table('id2','type');" 

दो पंक्तियों

ID1 से जोड़ दिया जाएगा | टाइप करें
आईडी 2 | टाइप

इसलिए यदि आपके आईडी स्तंभ int प्रकार तो आप नहीं कर सकते चलाने पहली क्वेरी

0

है आप चेक बॉक्स की एक श्रृंखला के माध्यम से उन्हें पाश आप कर सकते थे, और अपने तालिका में मूल्यों को सम्मिलित करने के लिए इच्छुक हैं,

INSERT INTO `table_name` (`column_name`) VALUES (1),(2),(3),(4) 
0:

<?php 

$values = array(); 

foreach ($_POST['field_name'] as $i => $value) { 
    $values[] = sprintf('(%d)', $value); 
} 

$values = implode(',', $values); 

$sql = "INSERT INTO `table_name` (`column_name`) VALUES $values"; 

यह आपको करने के लिए इसी तरह की एक SQL क्वेरी दे देंगे: इस तरह

इस सहायता की आशा करें।

संबंधित मुद्दे