2011-06-10 71 views
2

我需要如何过滤数据库中的数据。我想要一个像Excel电子表格中的过滤器。PHP - 过滤表中的数据

例如,我有关于如何从w3school获取有关如何从数据库中选择数据的数据的示例代码。下面是我的示例代码:

<?php 
$con = mysql_connect("localhost","root",""); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 

mysql_select_db("TableTest", $con); 

$result = mysql_query("SELECT * FROM Colors "); 

echo "<table border='1'> 
<tr> 
<th>Colors</th> 
<th>Type</th> 
</tr>"; 

while($row = mysql_fetch_array($result)) 
    { 
    echo "<tr>"; 
    echo "<td>" . $row['colors'] . "</td>"; 
    echo "<td>" . $row['type'] . "</td>"; 
    echo "</tr>"; 
    } 
echo "</table>"; 

mysql_close($con); 
?> 

enter image description here

我也发现了这个sample太w3school,但我不想给数据库下拉过滤。

我想使它像一个Excel过滤器。当我选择“颜色”列来过滤“红色”时,它将只显示红色。所以我想知道是否有人可以帮助我如何开始。

感谢所有

+1

本文将告诉您有关使用jQuery及其插件为您的网站上的HTML表添加功能的所有信息。 http://www.tripwiremagazine.com/2009/12/25-highly-useful-jquery-plugins-bringing-life-back-to-html-tables.html – GordyD 2011-06-10 13:19:16

+0

或使用此插件。 HTTP://dev.sencha。COM /部署/ EXT-4.0.0 /示例/网格过滤/网格滤波器local.html – GordyD 2011-06-10 13:26:38

回答

6
$result = mysql_query("SELECT * FROM Colors WHERE color='Red'"); 
3

当用户选择一种颜色,重定向他在同一页上包含他choosen的颜色$ _GET变量。然后,检查你的代码是否存在包含颜色$ _GET变量:

if(isset($_GET['color'])) 
    result = mysql_query("SELECT * FROM Colors WHERE color='".htmlentities($_GET['color'])."'"); 
else 
    result = mysql_query("SELECT * FROM Colors"); 
2

您需要创建一个包含包含的颜色,用户可以从挑选名单列表框的形式。反过来,该表单将需要发布一个变量返回到PHP然后将提供给MySQL过滤结果表的页面。

$result = mysql_query("SELECT * FROM Colors WHERE color='Red'"); 

然而过滤,基于表单张贴到网页需要像这样:

$result = mysql_query("SELECT * FROM Colors WHERE color='".mysql_escape_string($_REQUEST['color'])."'"); 

单独过滤结果表只红会使用完成“颜色”是已发布到包含要过滤的颜色名称的页面的变量的名称。

1

我知道我太晚了,但也许还有人在寻找解决方案。我只知道这个情况,您只需

$result = mysql_query(" 
     SELECT * FROM database_name 
     WHERE Color LIKE 'Red%' 
");