Использование параметра Ajax в php выборка не будет работать - PullRequest
1 голос
/ 10 февраля 2020

Я просто использую для отправки параметра (с ajax) на php и использую этот отправленный параметр в качестве значения в выборке SQL (в операторе where).

Это мой код : Ajax / HTML:

      <select id='overallval'>
       <option value='81'>81</option>
       <option value='83'>83</option>
       <option value='88'>88</option>
     </select>

      $('#overallval').change(function(){
    table.draw();
  });

$(document).ready(function() 
{
    var table = $('#example').DataTable( 
    {
        "processing": true,
        "serverSide": true,
        "type": "POST",
        "ajax": {
            "url": 'https://WEBSERVER.com/server_processing.php',
            'data': function(data){
              // Read values
              var overall = $('#overallval').val();
              // Append to data
              data.overallpara = overall;
            }
        },
        "columnDefs": [...]

My PHP:

$where = "overall > '.$_POST['overallpara'].'";
echo json_encode(SSP::complex( $_GET, $sql_details, $table, $primaryKey, $columns,null, $where ));

Если я просто использую, например,

$where = "overall > 88";

Все работает нормально .. но мой выше опубликованный метод использования POST-var не извлекает никаких данных. Я использовал Firefox для отладки параметров, отправляемых htm-файлом, и отправляется «totalpara» со значением «88».

Так в чем может быть проблема?

Ответы [ 2 ]

0 голосов
/ 10 февраля 2020

Мне пришлось использовать $ _REQUEST вместо $ _POST в моем php скрипте. Теперь это работает. Может ли кто-нибудь объяснить мне, зачем мне это нужно? Это был просто тест, поэтому я не знаю, почему я должен его использовать. (

0 голосов
/ 10 февраля 2020

Ваш PHP код неправильный $where = "overall > '.$_POST['overallpara'].'";

//Replace it with my code
$where = "overall > {$_POST['overallpara']}";
...