【问题标题】:Select input type=text value as column name选择输入类型=文本值作为列名
【发布时间】: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


【解决方案1】:

只需要去掉引号

$fetchquery9 = "SELECT * FROM reservation WHERE $searchby = '$searchx' ORDER BY $order"; //sql query

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-21
    • 2018-07-02
    • 1970-01-01
    • 2015-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多