【发布时间】:2016-04-16 11:32:55
【问题描述】:
php
$searchby =mysqli_real_escape_string($conn,$_GET['searchby']);
$searchx =mysqli_real_escape_string($conn,$_GET['searchx']);
$order=mysqli_real_escape_string($conn,$_GET['order']);
$fetchquery9 = "SELECT * FROM reservation WHERE '$searchby' = '$searchx' ORDER BY '$order'"; //sql query
$fetch9 = mysqli_query($conn, $fetchquery9);
ajax
function sortdata(){
var searchby = $('#searchby').val();
var searchx = $('#searchx').val();
var order = $('#order').val();
$.ajax({
type: "POST",
url: "getdatasort.php?searchby="+searchby+"&searchx="+searchx+"&order="+order
}).done(function( data ) {
$('#viewdata').html('');
$('#viewdata').html(data);
});
}//passing value using ajax
html
<div class="row">
<div class="col-md-6">
</div>
<div class="col-md-2">
<select type="text" class="form-control" id="searchby" name="searchby" placeholder="searchby" onChange="sortdata();">
<option value="reservationno">Reservation No.</option>
<option value="name">Full Name</option>
<option value="number">Contact Number</option>
<option value="email">Email</option>
<option value="course_reservation">Course</option>
<option value="class_code_reservation">Class Code</option>
<option value="startdate">Start Date</option>
<option value="enddate">End Date</option>
<option value="desired_date">Desired Date</option>
</select>
</div>
<div class="col-md-2">
<input type="text" class="form-control" id="searchx" name="searchx" placeholder="Searh here" onChange="sortdata();">
</div>
<div class="col-md-2">
<select type="text" class="form-control" id="order" name="order">
<option value="ASC">ascending</option>
<option value="DSC">descending</option>
</select>
</div>
我只是想知道如何在 php 的 sql 查询中将输入类型 = 文本值设置为列名。有 3 个输入文本,用户可以根据文本值的值查看 sql 数据。第一个输入包含 sql 列第二个输入搜索项和第三个输入顺序(asc 或 desc)
【问题讨论】:
-
此
ORDER BY '$order'无效。您需要一个列名/表达式。该值应以反引号表示。 -
是我的错误..谢谢你 chris85
标签: javascript php html