通过使用php和javascript选择一个选项来更新数据库表

时间:2019-02-08 08:24:44

标签: php jquery mysqli

我正在尝试通过使用php和jquery从选择框中选择一个选项来更新数据库中的表列。这样,当用户单击某个选项时,站点将文本值返回到数据库中的类别列。我真的尝试过理解适用的概念,将对您的帮助表示感谢。

我的数据库表, selecting an option updates the category column 我的代码尝试

enter code here
<div class="upload_wrapper">
        <select id="selectbox" name="options">
            <option value="" selected>Select Category</option>
            <option value="Furniture">Furniture</option>
            <option value="Tableware">Tableware</option>
            <option value="Jewellery">Jewellery</option>
            <option value="Shoes">Shoes</option>
            <option value="Water Bottles">Water Bottles</option>
            <option value="Clothes">Clothes</option>
            <option value="Fabric Patterns">Fabric Patterns</option>
        </select>
    <?php 
    include('connect.php');


    if(isset($_POST['options'])){
        $sql = "INSERT INTO images (category) VALUES ($_POST["options"])";
    }
    $select_category = array('Furniture', 'Tableware', 'Jewellery', 'Shoes', 'Water Bottles', 'Clothes', 'Fabric Patterns');


    ?>
    <script>
    $('#selectbox').change(function(){

        $sql = $($('#selectbox option:selected').text();

        });
    </script>

    </div>

2 个答案:

答案 0 :(得分:0)

您应该可以执行此操作。

我自己的项目中的示例,其中我从数据库表中提取了一些类别:

$result = mysqli_query($con,$sql)or die(mysqli_error());
      if (mysqli_num_rows($result) > 0) {
         //open the select tag before the loop
         echo"<select name='category'>";
         //populate the select
         while($row = mysqli_fetch_assoc($result)) {

            $name=$row["Name"];

            echo"<option value=" .$name.">".$name."</option>"  ;
         }
         //close the select tag after the loop
         echo"</select>";
         echo "<br>";
      } else {
         echo "0 results";
      } ?>

然后我可以在SQL查询中使用此变量显示单击的选项值:

 $category = mysqli_real_escape_string($link, $_REQUEST['category']);

$ link是我的SQL连接。

答案 1 :(得分:0)

如果要在每次选择下拉列表时将数据插入表中,则必须使用ajax。

首先将此脚本添加到您的html中。

<script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.js"></script> 
  

将脚本更改为此:

$(document).ready(function() {

$('#selectbox').change(function(){

    $sql = $(this).val();


        $.ajax({
        url:"filename of your php file",
        method:"POST",
        data:{
            CatNAME:$sql
            },
        dataType:"json",
       success:function(data){


             alert("INSERTED SUCCESSFULLY");

            }
        })

    });
  });
  

您在php上的条件如下:

 if(isset($_POST['CatNAME'])){
    $catname = $_POST["CatNAME"];
    $sql = "INSERT INTO images (category) VALUES ('$catname')";
}

注意:不要忘记ajax上的url:,它是php文件本身。