2017-09-05 48 views
0

我在这方面看起来很辛苦,但我无法摆脱AJAX与PHP协同工作的困扰。我如何使用AJAX将DropDown保存到数据库中

这是我当用户点击下拉我想它保存到我的数据库

<select> 
    <?php $taskStatus = "SELECT * FROM task_status WHERE used = 1 ORDER BY id ASC "; 
    $taskresults = $conn->query($taskStatus) or die(mysqli_error($conn)); 
    while($taskStatusRow = mysqli_fetch_assoc($taskresults)) { 
    echo " <option value= ". $taskStatusRow['name'] ." >". $taskStatusRow['name'] ." </option>"; 
    } 
    ?> 
</select> 

这是查询我想运行:

INSERT INTO snagging (taskstatus, updated_at) 
WHERE ID = 1234 
VALUES taskStatusRow['name'], $now); 
+0

那么,AJAX涉及JavaScript所以...你的JavaScript代码在哪里? – Mikey

+0

我不知道如何处理JS..so –

+2

然后它看起来像它回到书籍和教程。它真的不是火箭科学 – RiggsFolly

回答

1

我会在这里给你一个AJAX的整体流程。我试图提供意见,以显示控制流程。

<select id="selectOption"> //******* Assign an ID 
    <?php $taskStatus = "SELECT * FROM task_status WHERE used = 1 ORDER BY id ASC "; 
    $taskresults = $conn->query($taskStatus) or die(mysqli_error($conn)); 
    while($taskStatusRow = mysqli_fetch_assoc($taskresults)) { 

     echo " <option value= ". $taskStatusRow['name'] ." >". $taskStatusRow['name'] ." </option>"; 

    } 
    ?> 
</select> 

的jQuery + AJAX

$(document).ready(function() { 
    $("#selectOption").change(function(){ //** on selecting an option based on ID you assigned 
     var optionVal = $("#selectOption option:selected").val(); //** get the selected option's value 

     $.ajax({ 
      type: "POST", //**how data is send 
      url: "MYPROCESSPAGE.php", //** where to send the option data so that it can be saved in DB 
      data: {optionVal: optionVal }, //** send the selected option's value to above page 
      dataType: "json", 
      success: function(data){ 
       //** what should do after value is saved to DB and returned from above URL page. 
      } 
     }); 
    }); 
}); 

里面你MYPROCESSPAGE.php,您可以访问通过AJAX方式通数据:

<?php 

$selectedOptionVal = $_POST['optionVal']; 

//DB CONNECTION STEPS 
. 
. 
. 
// You are trying to "UPDATE" a table data based on some ID and not inserting. Included both operations 

// If you are INSERTING A new table entry, use below code. 
//INSERT INTO snagging (taskstatus, updated_at) VALUES ('$selectedOptionVal', 'Now()'); 

// If you are UPDATING an existing table entry, use below code. 
//UPDATE snagging SET taskstatus = '$selectedOptionVal', updated_at = 'Now()' WHERE ID = 1234; 

?> 

希望这是有帮助的。

+0

完美谢谢!这非常有道理! :D –

+0

很高兴我能帮到你。 –

相关问题