php如何在列表视图(表)中使用搜索数据的选择框


php how to used select box for search data in list view (table)

我有一个从表(数据库)中选择数据以显示在列表视图(表)中的查询,而我想通过不带按钮提交的选择框在列表视图中搜索数据。

这是我在选择框中的代码

<select onchange="selectrun(this);"> 
    <option value="">Select</option>
    <option value="1">one</option>
    <option value="2">two</option>
    <option value="3">three</option>
</select>

这是我的代币

function selectrun(sel){
           var id= sel.value;  
            $.ajax({
                    type:"POST",
                    url:"./tab.php",
                    data:{id:id,task:'search'},
                     success: function(response){
                         //(I don't know what i should write for pass to php code)
                         //what I return in response is a query because I want it's execute at my main page,that why I want pass it to $querr_select in php code but I don know my solution is good or not because I never do with ajax   
                     }
        });
}

这是我在主页中的代码

$query_select = "SELECT * FROM `table`";
$result=pg_query($query_select ) or die(pg_last_error());
while($row_info=pg_fetch_array($result)){ 
   //code for display view
}

*注意:在tab.php中,我只需将id从主页传递到tab.php页,就可以在其中的条件下编写查询进行选择;当我提醒response时,我得到了SELECT * FROM table WHERE ID ='1',我想把它传递给$query_select,这是我的想法,但还不起作用:(

我想您要问的是如何显示Ajax查询的结果。这是正确的吗?

<select onchange="selectrun(this);"> 
    <option value="">Select</option>
    <option value="1">one</option>
    <option value="2">two</option>
    <option value="3">three</option>
</select>
<!-- A new HTML div for displaying Ajax call response: -->
<div id="response-area"></div>
<script>
function selectrun(sel){
           var id= sel.value;  
            $.ajax({
                    type:"POST",
                    url:"./tab.php",
                    data:{id:id,task:'search'},
                     success: function(response){
                        //Jquery sends response to browser div by setting html.
                        $('#response-area').html(response);
                     }
        });
}
</script>

tab.php:关于如何通过Ajax返回HTML的基本概念。就混合HTML和PHP而言,这不是一个很好的编程,但它可能会满足您的需求。

假设数据库表包含名为"field1"answers"field2"的字段,则可以使用字段名作为数组键来遍历数组。请注意,pg_fetch_array有额外的参数来选择关联数组,而不是数字索引数组。

<?php
    $query_select = "SELECT * FROM `table`";
    $result=pg_query($query_select ) or die(pg_last_error());
    echo "<table>";
    while($row_info=pg_fetch_array($result, NULL, PGSQL_ASSOC)){ 
       echo "<tr>
                <td>
                      $row_info[field1]
                </td>
                <td>
                      $row_info[field2]
                </td>
              </tr>";
    }
    echo "</table>";
?>

当您更改所选选项时,上面修改过的代码应该会显示从tab.php返回的响应。