0

首先,我将此网站用作我正在尝试做的事情的模板,除了我在此之上添加一个搜索框:http: //www.dougv.com/demo/jquery_sort_records/js.php(由于要引用阻止,您应该复制并粘贴链接以查看它。否则您将遇到 403 禁止错误)

我想创建一个简单的搜索框,它将搜索某个属性并显示找到的任何结果(基本上是一个过滤器)。到目前为止,这是我所拥有的代码的一部分。到目前为止,表格看起来不错,但是我想添加一个搜索框,用于搜索名字属性。

有什么帮助吗?

<script type="text/javascript" src="jquery-1.3.1.min.js"></script>
<script type="text/javascript" src="jquery.tablesorter.min.js"></script>
<script type="text/javascript">
            $(document).ready(function() {
                $("#sortedtable").tablesorter({ sortlist: [0,0] });
            });
        </script>

</head>
<body>
<?php
            if(!$link = mysql_connect("database_server", "user_name", "password")) {
                echo "Cannot connect to db server";
            }
            elseif(!mysql_select_db("database_name")) {
                echo "Cannot select database";
            }
            else {
                if(!$rs = mysql_query("SELECT * FROM table")) {
                    echo "Cannot parse query";
                }
                elseif(mysql_num_rows($rs) == 0) {
                    echo "No records found";
                }
                else {
                    echo "<table id=\"sortedtable\" class=\"bordered\" cellspacing=\"0\">\n";
                    echo "<thead>\n<tr>";
                    echo "<th>Record ID</th>";
                    echo "<th>First Name</th>";
                    echo "<th>Last Name</th>";
                    echo "<th>Birthday</th>";
                    echo "<th>Department</th>";
                    echo "</tr>\n</thead>\n";
                    while($row = mysql_fetch_array($rs)) {
                        echo "<tr><td>$row[person_id]</td><td>$row[person_name]</td><td>$row[person_surname]</td><td>$row[person_birthdate]</td><td>$row[person_department]</td></tr>\n";
                    }
                    echo "</table><br />\n";
                }
            }
?>

<form name="search_form" method="POST" action="js.php">
<font face="Calibri"> </font>
Search: <input type="text" name="search_b" value="" />
<input type="submit" name="search" value="Search for your term..."> </input>
</form>
4

1 回答 1

0

首先,我建议您将数组访问权限包含在这样的字符串中:`" some triing {$array['key']}" 这样您就不会遇到直接在字符串中访问数组字段的任何问题。

但现在应该这样做:

<script type="text/javascript" src="jquery-1.3.1.min.js"></script>
<script type="text/javascript" src="jquery.tablesorter.min.js"></script>
<script type="text/javascript">
    $(document).ready(function() {
        $("#sortedtable").tablesorter({ sortlist: [0,0] });
    });
</script>

</head>
<body>
    <?php
    if (!$link = mysql_connect("database_server", "user_name", "password")) {
        echo "Cannot connect to db server";
    } elseif (!mysql_select_db("database_name")) {
        echo "Cannot select database";
    } else {
        $searchString = "";
        if(!empty($_POST['search_b'])){
            $searchString = "WHERE user_name LIKE '%{$_POST['search_b']}%'";
        }
        if (!$rs = mysql_query("SELECT * FROM table $searchString")) {
            echo "Cannot parse query";
        } elseif (mysql_num_rows($rs) == 0) {
            echo "No records found";
        } else {
            echo "<table id=\"sortedtable\" class=\"bordered\" cellspacing=\"0\">\n";
            echo "<thead>\n<tr>";
            echo "<th>Record ID</th>";
            echo "<th>First Name</th>";
            echo "<th>Last Name</th>";
            echo "<th>Birthday</th>";
            echo "<th>Department</th>";
            echo "</tr>\n</thead>\n";
            while ($row = mysql_fetch_array($rs)) {
                echo "<tr><td>{$row[person_id]}</td><td>{$row[person_name]}</td><td>{$row[person_surname]}</td><td>{$row[person_birthdate]}</td><td>{$row[person_department]}</td></tr>\n";
            }
            echo "</table><br />\n";
        }
    }
    ?>

    <form name="search_form" method="POST" action="js.php">
        <font face="Calibri"> </font>
        Search: <input type="text" name="search_b" value="" />
        <input type="submit" name="search" value="Search for your term..."> </input>
    </form>
于 2013-03-20T22:42:41.257 回答