Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过复选框和下拉列表将值传递给sql_Php_Mysql - Fatal编程技术网

Php 通过复选框和下拉列表将值传递给sql

Php 通过复选框和下拉列表将值传递给sql,php,mysql,Php,Mysql,如何将下拉值传递给sql数据库以及复选框,例如,如果用户选择了English和mathematics,则插入数据库的值将为1,否则该值将为0 <form> <p id="p1">Select Your Year</p> <select id="year_sel"> <option value="blank"></option>

如何将下拉值传递给sql数据库以及复选框,例如,如果用户选择了
English
mathematics
,则插入数据库的值将为
1
,否则该值将为
0

    <form>
        <p id="p1">Select Your Year</p>
            <select id="year_sel">

             <option value="blank"></option>
                <option id="primary" value="primary">Primary</option>

                    <option value="1">Year one</option>
                        <option value="2">Year two</option>
                            <option value="3">Year Three</option>
    </select>
    <input type="checkbox" name="Math" value="Math">Math<br>
                <input type="checkbox" name="English" value="English">English<br>
                <input type="checkbox" name="HealthScience" value="HealthScience">Health Science<br>

<input class="sub_reg" type="submit" value="Register Subjects" />
</form>

选择您的年份

主要的,重要的 第一年 第二年 第三年 数学
英语
健康科学
这就是我的数据库的样子

建立数据库连接请参考一些教程(如果您不知道)

编写mysqli insert命令,如下所示

$SQL = "INSERT INTO yourtable (language) VALUES ('$language')";
    mysqli_real_escape_string($sql);
    $result = mysqli_query($sql) or die (mysqli_error());
现在可以在mysql或任何数据库表中插入此值

未对其进行测试


<form>
    <p id="p1">Select Your Year</p>
     <select id="year_sel" name="year_sel">
      <option value="blank"></option>
      <option id="primary" value="primary">Primary</option>
      <option value="1">Year one</option>
      <option value="2">Year two</option>
      <option value="3">Year Three</option>
     </select>

选择您的年份

主要的,重要的 第一年 第二年 第三年

应提及HTML元素名称以获取值

首先,您的
需要一个name属性来post->

<select id="year_sel" name="year_sel" >
如果你改成

<form method="post">
其次,复选框只有在选中时才会过帐,因此您可以使用
isset()
来使用三元值设置值-

$math = isset($_GET['Math']) ? 1 : 0; 
$english = isset($_GET['English']) ? 1 : 0;
...[rest of your checkboxes]...
交换
$\u GET
/
$\u POST
,就像选择

$math = isset($_POST['Math']) ? 1 : 0; 
$english = isset($_POST['English']) ? 1 : 0;

(1) 您的
需要一个
名称
属性来发布
。由于您使用的是
,默认值为
get
,因此您可以在
$\u get['year\u sel']
中获取所选值。如果您将其更改为
,那么您将在
$\u POST['year\u sel']
中获得它。(2) 复选框仅在选中时才会过帐,因此您可以使用
isset()
使用三元设置值-
$math=isset($\u GET['math'])?1 : 0;。(交换
$\u GET
/
$\u POST
就像select一样)。请将此评论作为答案发布,这样我就可以标记为2016年的情况是正确的-没有理由使用
mysql.*
函数,即使只是作为示例。即使使用
mysqli\u query()
也会有所改进。更好(尽管从技术上讲
mysqli\u real\u escape\u字符串(string$link)
mysqli\u错误(string$link)
需要
mysqli
连接链接->
mysqli\u real\u escape\u字符串($conn,$sql)
mysqli\u错误($conn)
)仅代码的答案在这里不是很有帮助,所以。编辑你的答案,并解释为什么你的代码是OP的正确答案。细节总是让它更好。
$year_sel = $_GET['year_sel'];
<form method="post">
$year_sel = $_POST['year_sel']
$math = isset($_GET['Math']) ? 1 : 0; 
$english = isset($_GET['English']) ? 1 : 0;
...[rest of your checkboxes]...
$math = isset($_POST['Math']) ? 1 : 0; 
$english = isset($_POST['English']) ? 1 : 0;