2017-09-05 122 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

很高興我能幫到你。 –

相關問題