【问题标题】:php how to used select box for search data in list view (table)php如何在列表视图(表格)中使用选择框搜索数据
【发布时间】:2014-12-18 06:40:29
【问题描述】:

我有一个查询要从表(数据库)中选择数据以显示在列表视图(表)中,而不是我想通过选择框在列表视图(表)中进行代码搜索数据而无需按钮提交。

这是我在选择框中的代码

<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 以编写查询以在 where 条件下进行选择;当我提醒response 我得到SELECT * FROM table WHERE ID ='1' 我想把它传递给$query_select,这是我的想法,但还没有工作:(

【问题讨论】:

  • 当 JS 向服务器请求响应时,你想对那个响应做什么?
  • @Popnoodles,说实话,我以前从未听说过自动完成功能,谢谢,可能是因为我刚开始学习编程
  • 我删除了该评论,因为它可能不是你想要的
  • 当您非常清楚地使用 Postgres 时,为什么要标记 MySQL?
  • 在页面tab.php,我没有什么复杂的,我只是写了一个有条件的查询,并且想要返回它作为我的参数$$query_select让它运行以显示数据,无论如何我的目标是做搜索

标签: php jquery arrays ajax postgresql


【解决方案1】:

我认为您要问的是如何显示 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>

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

假设您的数据库表包含名为“field1”和“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 返回的响应。

【讨论】:

  • @@fred2 我在列表视图(表格)中的旧数据怎么样?
  • @start ...我不能 100% 确定您想要什么,但我已经编辑了帖子以提供我认为您所要求的内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-24
  • 1970-01-01
  • 2019-09-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多