从jquery mobile的下拉列表中获取值并保存到mysql数据库

时间:2014-03-06 22:10:11

标签: php jquery mysql jquery-mobile

我已经阅读了现有的答案,但他们对如何实施这些答案毫无意义。如何从jquery mobile的下拉列表中获取值并保存到mysql数据库?我访问下拉列表(在表单中),进行选择,然后提交表单以存储在数据库中。有人可以告诉我一个如何做到这一点的例子吗?谢谢。

    <form action="insert.php" method="post">
<legend>Date:</legend>   
        <label for="select-choice-month">Month</label><!-- etc. -->
        <select name="select-choice-month" id="select-choice-month">
            <option>Month</option>
            <option value="jan">January</option>
            <option value="feb">February</option>
            <option value="mar">March</option>
            <option value="apr">April</option>
            <option value="may">May</option>
            <option value="jun">June</option>
            <option value="jul">July</option>
            <option value="aug">August</option>
            <option value="sep">September</option>
            <option value="oct">October</option>
            <option value="nov">November</option>
            <option value="dec">December</option>         
        </select>

        <label for="select-choice-day">Day</label><!-- etc. -->
        <select name="select-choice-day" id="select-choice-day">
            <option>Day</option>
            <option value="1">1</option>
            <option value="2">2</option>
            <option value="3">3</option>
            <option value="4">4</option>
            <option value="5">5</option>
            <option value="6">6</option>
            <option value="7">7</option>
            <option value="8">8</option>
            <option value="9">9</option>
            <option value="10">10</option>
            <option value="11">11</option>
            <option value="12">12</option>
            <option value="13">13</option>
            <option value="14">14</option>
            <option value="15">15</option>
            <option value="16">16</option>
            <option value="17">17</option>
            <option value="18">18</option>
            <option value="19">19</option>
            <option value="20">20</option>
            <option value="21">21</option>
            <option value="22">22</option>
            <option value="23">23</option>
            <option value="24">24</option>
            <option value="25">25</option>
            <option value="26">26</option>
            <option value="27">27</option>
            <option value="28">28</option>
            <option value="29">29</option>
            <option value="30">30</option>
            <option value="31">31<option>     
        </select>
<input type="submit">
</form>

insert.php

// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$sql="INSERT INTO test ( month, day)
VALUES
('$_POST[select-choice-month]', '$_POST[select-choice-day]')";

if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }
echo "1 record added";

mysqli_close($con);

非常感谢你的帮助。

2 个答案:

答案 0 :(得分:0)

在SQL查询中,您在查询的第一部分中有3个参数,但只提供2个值。 (文本,月,日)vs(月,日)在此实例中。编辑:更改样本以解决此问题。

此外,将变量直接从$ _POST传递到一个没有任何卫生设施的查询中,有可能使您容易受到SQL注入攻击。

答案 1 :(得分:0)

尝试使用ajax

    $.ajax({

      url:  "insert.php",
      type: "POST",
      cache: false,
      data: $('#form').serialize(),
      dataType: "json",
      beforeSend:function() {

      },

      success:function(data) {

      },

      error:function(e) {
        console.log(e.responseText);
      },

      complete:function() {

      },
      timeout: 10000


    });//ajax ends