【问题标题】:How to make sql query dynamic?如何使sql查询动态化?
【发布时间】:2011-01-30 22:38:52
【问题描述】:

我正在使用这个pagination class 并且正在寻找一种方法来使 sql 查询更加动态,而不是对其进行硬编码。

我有 3 个 <li> 元素,我想成为过滤器按钮,这意味着当用户单击其中一个元素时,我希望它发送 id,以便我可以在 sql 查询中使用它。

所以对于$sql = "select * from explore where category='marketing'";(如下所示)。当用户点击“汽车”按钮时,它会将上面的类别更改为汽车。

对此的任何帮助将不胜感激,谢谢。

这是我的主页的样子:

<script type="text/javascript"
    src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script type="text/javascript" src="jquery_page.js"></script>


<?php
    //Include the PS_Pagination class
    include('ps_pagination.php');
    //Connect to mysql db
    $conn = mysql_connect('localhost', 'root', 'root');
    mysql_select_db('ajax_demo',$conn);
    $sql = "select * from explore where category='marketing'";
    //Create a PS_Pagination object
    $pager = new PS_Pagination($conn, $sql, 3, 11, 'param1=valu1&param2=value2');
    //The paginate() function returns a mysql
    //result set for the current page
    $rs = $pager->paginate();
    //Loop through the result set
    while($row = mysql_fetch_assoc($rs)) {
            echo "<table width='800px'>";

                echo "<tr>";
                    echo"<td>";
                    echo $row['id'];
                    echo"</td>";

                    echo"<td>";
                    echo $row['site_description'];
                    echo"</td>";

                    echo"<td>";
                    echo $row['site_price'];
                    echo"</td>";
                echo "</tr>";

            echo "</table>";
    }

        echo "<ul id='pagination'>";

            echo "<li>";
            //Display the navigation
            echo $pager->renderFullNav();
            echo "</li>";

        echo "</ul>";

    echo "<ul id='filter'>";

        echo "<li id='marketing'>";
            echo "Marketing";
        echo "</li>";

        echo "<li id='automotive'>";
            echo "Automotive";
        echo "</li>";

        echo "<li id='sports'>";
            echo "Sports";
        echo "</li>";

    echo "</ul>";
?>

【问题讨论】:

标签: php jquery mysql class pagination


【解决方案1】:

看起来像这条线

$pager = new PS_Pagination($conn, $sql, 8, 3, 'param1=valu1&param2=value2');

应该在运行 sql 查询之前进行编辑以携带要测试的变量....可能类似于:

$pager = new PS_Pagination($conn, $sql, 8, 3, 'param1=automotive&param2=sports');

那就试试这个

if($_POST["param1"]=="automotive")
{
$sql = "select * from explore where category='automotive'";
}

并解决它,看看你是否能得到你想要的结果。我以前从未使用过该课程,但看起来您必须使用这些参数才能获得所需的结果

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-31
    • 2019-07-15
    • 1970-01-01
    • 2019-12-14
    • 2021-06-16
    • 1970-01-01
    相关资源
    最近更新 更多