多项选择 - 保存结果

时间:2014-06-05 15:24:29

标签: php mysql

我有一个下拉列表,我想创建一个多项选择。 在我的情况下,结果保存为单词“数组”,我不知道如何使其工作。

形式:

   <p>1.
<select name="sub1" size=14 multiple="multiple">
<option value="Русский язык" selected>Русский язык</option>
<option value="Математика">Математика</option>
<option value="Информатика">Информатика</option>
<option value="Обществознание">Обществознание</option>
<option value="Физика">Физика</option>
<option value="История">История</option>
<option value="Химия">Химия</option>
<option value="Литература">Литература</option>
<option value="Иностранный язык">Иностранный язык</option>
<option value="Биология">Биология</option>
<option value="Физическая культура">Физическая культура</option>
<option value="Творческий экзамен">Творческий экзамен</option>
<option value="Профессиональный экзамен">Профессиональный экзамен</option>
<option value="Собеседование">Собеседование</option>
</select></p>
  </p>

和脚本:

<?php
  mysql_connect("localhost", "root", "") or die (mysql_error ());
  mysql_select_db("university") or die(mysql_error()); 
  $program = $_POST['program'];
  $code = $_POST['code'];
  $course = $_POST['course'];
  $form = $_POST['form'];
  $time = $_POST['time'];
  $price = $_POST['price'];
  $accreditation = $_POST['accreditation'];
  $faculty = $_POST['faculty'];
  $department = $_POST['department'];
  $level = $_POST['level'];
  $type = $_POST['type'];
  $sub1 = $_POST['sub1'];
  $sub2 = $_POST['sub2'];
  $sub3 = $_POST['sub3'];
  $sub4 = $_POST['sub4'];
  $des = $_POST['des'];
  $result = mysql_query("INSERT INTO news (program, code, course, form, time, price, accreditation, faculty, department, level, type, sub1, sub2, sub3, sub4, des) VALUES ('$program', '$code', '$course', '$form', '$time', '$price', '$accreditation', '$faculty', '$department', '$level', '$type', '$sub1', '$sub2', '$sub3', '$sub4', '$des')") or die(mysql_error());
var_dump($sub1);
?>

2 个答案:

答案 0 :(得分:0)

如果要将所有值保存在单列中,请执行此操作

$sub1 = "'".implode("','",$_POST["sub1"])."'";
echo "insert into table1(testcol) values($sub1)";

<强> 输出

insert into table1(testcol) values('test','test1','test2')

并在查询中使用$sub1

答案 1 :(得分:0)

当提交表单并使用多重选择提交给PHP脚本时,这些值将作为数组接收:

<select name="sub1" size=14 multiple="multiple">

变为

sub1[] = 'selected choice 1';
sub1[] = 'selected choice 2';
sub1[] = 'selected choice 3';

要将它们用作单个字符串值,请组合数组元素:

$finalVal = implode(',', $sub1);

然后在SQL语句中使用$finalVal