获取下拉列表中的值并在插入时将其用作表名

时间:2017-10-04 05:16:26

标签: php mysql

这有什么问题?任何帮助将不胜感激。它不插入。我需要指定将插入哪个表依赖于下拉列表的值,这就是我将insert插入$ newCandidatePosition的原因。当我把插入总统时,它正在工作。但是,当我将插入到$ newcandidateposition时,它不起作用。我该怎么办?

这是我的下拉列表

<select name="position" id="position">select
    <OPTION value="select">select
    <option value="president">PRESIDENT</option>
    <option value="saab">Saab</option>
    <option value="mercedes">Mercedes</option>
    <option value="audi">Audi</option>
</select>

这是提交

if(isset($_POST['Submit'])){
    $id = $_POST['name']; 
    $newCandidatePosition = $_POST['position']; 
    $query=mysql_query("select * from voting_tbCandidates where student_id='".$id."'")or die(mysql_error());
    $duplicate=mysql_num_rows($query);

    if($duplicate==0){
        $sql = mysql_query("INSERT INTO '$newCandidatePosition'(`stud_id_no`,`stud_name`, `lname`,`stud_grade`,`stud_img`,`stud_section`)"." SELECT `stud_id_no`,`stud_name`, `lname`,`stud_grade`,`stud_img`,`stud_section`"." FROM sid_senior_high_table WHERE id_no='$id'");
    }else{

    }
}

2 个答案:

答案 0 :(得分:1)

请正确关闭选项标记

<select name="position" id="position">
<option value="select">select</option>
<option value="president">PRESIDENT</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>

首先不要使用表名作为“select”..第二件事'$ newCandidatePosition'更改$ newCandidatePosition删除单个代码

    //echo "INSERT INTO $newCandidatePosition (`stud_id_no`)"." SELECT `stud_id_no`"." FROM test2 WHERE id_no='$id'";
 $sql = mysql_query("INSERT INTO $newCandidatePosition (`stud_id_no`)"." SELECT `stud_id_no`"." FROM test2 WHERE id_no='$id'");
echo mysql_insert_id(); 

以上是我的演示代码,它对我有用

答案 1 :(得分:0)

尝试以下方式:

$sql = mysql_query("INSERT INTO 
              '" .$newCandidatePosition. "'
              (`stud_id_no`,`stud_name`, `lname`,`stud_grade`,`stud_img`,`stud_section`)".
          " SELECT `stud_id_no`,`stud_name`, `lname`,`stud_grade`,`stud_img`,`stud_section`".
            " FROM sid_senior_high_table WHERE id_no='$id'")";