'How to insert multiple select values into database?
I want to select multiple choice and insert the values in database. How can I do this?
<select name="instructor" multiple>
<option value="9000">Zaher</option>
<option value="9001">Samih</option>
<option value="9010">Majd</option>
<select>
$instructor=$_GET['instructor'];
if(isset($_SESSION['courses']) && isset($_SESSION['semester'])){
$coursechosen= $_SESSION['courses'];
$semesterchosen=$_SESSION['semester'];
$query="Insert INTO coordinators(instructor_id,course_code,semester)
VALUES ('$instructor','$coursechosen','$semesterchosen')";
mysql_query($query);
}
Solution 1:[1]
<select name="instructor[]" multiple>
<?php
foreach ($_POST['instructor'] as $icon)
{
///your insert code//
}?>
Solution 2:[2]
<select name="instructor[]" multiple>
<option value="9000">Zaher</option>
<option value="9001">Samih</option>
<option value="9010">Majd</option>
<select>
// Your PHP code
<?php
foreach ($_GET['instructor'] as $value) {
$instructor.= $value.", ";
}
if(isset($_SESSION['courses']) && isset($_SESSION['semester'])){
$coursechosen= $_SESSION['courses'];
$semesterchosen=$_SESSION['semester'];
$query="Insert INTO coordinators(instructor_id,course_code,semester)
VALUES ('$instructor','$coursechosen','$semesterchosen')";
mysql_query($query);
}
?>
Solution 3:[3]
<select name="instructor[]" multiple>
<option value="9000">Zaher</option>
<option value="9001">Samih</option>
<option value="9010">Majd</option>
<select>
<input type="submit" value="send" name="send">
//php code
<?php
if (isset($_POST['send']))
{
if (isset($_POST['instructor']))
{
$instructor= implode(',',$_POST['instructor']);
$query="INSERT INTO `database` VALUES ('0','$instructor')";
mysql_query($query);
}
else
{
print "no selected";
}
}
?>
Solution 4:[4]
First use instructor as instructor[] so will become an array
<select name="instructor[]" multiple>
<option value="9000">Zaher</option>
<option value="9001">Samih</option>
<option value="9010">Majd</option>
<select>
In php file
$instructor = $_POST['instructor'];
USE THE IMPLODE FUNCTION OF PHP
$instructor= implode(",",$instructor);
so result will be 9000,9001,9010
NOW $instructor = 9000,9001,9010;
$sql = "INSERT INTO `TABLE`(`instructor`) VALUES ('{$instructor }')";
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Vivek Singh |
| Solution 2 | Micessien |
| Solution 3 | |
| Solution 4 | vikas pandey |
