gpt4 book ai didi

javascript - 如何使用 php 和 jquery 更改带有选择选项的 sql 顺序值

转载 作者:行者123 更新时间:2023-11-30 21:48:20 25 4
gpt4 key购买 nike

我需要根据所选的选择选项更改 sql 的 ORDER 值我有一个 action.php,我从数据库中获取值。我想放置一个排序选择选项,其中可以根据所选选项更改循环获取值的顺序。

action.php

if (isset($_POST["fetchValue"])) {  

echo '
form name="sort" id="sort" action="" method="post">
<div class="form-group">
<label for="sort_item">Sort by: </label>
<select name="sort_item" id="sort_item" class="form-control">
<option value="age">Date of birth</option>
<option value="last_name">Last Name</option>
</select>
</div>
</form>';

$fieldNameMapping = array(
'age' => 'dob',
'last_name' => 'user_lastname');

$sql = "SELECT * FROM test_field_tb tf
INNER JOIN users u ON tf.user_id = u.user_id
WHERE tf.user_id = 5
ORDER BY '".$fieldNameMapping[$_POST['sort_item']]."' "; // need to change that value base on the selected option

$run_query = $conn->query($sql);

while ($row = $run_query->fetch(PDO::FETCH_ASSOC)) {
...
}

JQuery - js 文件

$(document).ready(function() {
$("#sort_item").change(function() {
//get the selected value
var selectedValue = this.value;

//make the ajax call
$.ajax({
url: 'action.php',
type: 'POST',
data: {sort_item : selectedValue},
success: function(data) {
//how to i change the sql value here
}
});
});


function getFetch(){
$.ajax({
url : "action.php",
method: "POST",
data : {fetchValue:1},
success : function(data){
$("#get_display").html(data);
}
})
}

});

显示.php

<div id="get_display"></div>

获取错误: 未定义索引:sort_display $fieldNameMapping[$_POST['sort_item']]

最佳答案

需要有条件地添加ORDER BY

$sql = 'SELECT * FROM test_field_tb tf
INNER JOIN users u ON tf.user_id = u.user_id
WHERE tf.user_id = 5 ';
if (!empty($_POST['sort_item']))
$sql .= "ORDER BY '".$fieldNameMapping[$_POST['sort_item']]."' ";

然后在 ajax 调用的 success 处理程序中,像这样填充框:

success: function(data) {
$('#get_display').html(data);
}

关于javascript - 如何使用 php 和 jquery 更改带有选择选项的 sql 顺序值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48437105/

25 4 0
文章推荐: php - 当 mysql 服务器启动/重新启动时运行更新/删除查询?
文章推荐: c# - 使用 join 和 where 从 Linq SQL (Lambda) 返回 List