我需要有关如何过滤数据库中数据的帮助。我想要一个像excel电子表格中的过滤器。
例如,我有关于如何从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);
?>
我在w3school也发现了这个sample,但我不想用下拉列表来过滤数据库。
我想把它变成excel过滤器。当我选择“颜色”列以过滤“红色”时,它将仅显示红色。所以我想知道是否有人可以帮助我如何开始。
全部谢谢
答案 0 :(得分:6)
$result = mysql_query("SELECT * FROM Colors WHERE color='Red'");
答案 1 :(得分:3)
当用户选择颜色时,使用包含他选择的颜色的$ _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 :(得分: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'])."'");
其中“color”是已发布到包含您要过滤的颜色名称的页面的变量的名称。
答案 3 :(得分:1)
我知道我太迟了但也许还有人在寻找解决方案。我所知道的就是你只是
$result = mysql_query("
SELECT * FROM database_name
WHERE Color LIKE 'Red%'
");
答案 4 :(得分:0)
我很确定你正在寻找“this”。你需要JavaScript才能工作。
基本上有3个步骤:
详情请参阅提供的链接。
https://www.w3schools.com/howto/howto_js_filter_table.asp