我想创建一个过滤器,用于过滤数据库中的输出。我不知道如何创建它。我搜索了一些其他主题,但它们没有那么有用,希望有人可以帮助我。
我有以下代码从数据库中检索信息并将其输入表中。 (请忽略表格设置等,仍然需要清理嵌套和东西..)
代码(retrieve.php):
user_avgfrequency <- user_avgfrequency[order(user_avgfrequency[,1]), ]
// OUDE LOOP SPACE
<?php
// Connect to database server
mysql_connect("xx", "xx", "xx") or die (mysql_error ());
// Select database
mysql_select_db("xx") or die(mysql_error());
// SQL query
$strSQL = "SELECT * FROM informatie ORDER BY id DESC;";
// Execute the query (the recordset $rs contains the result)
$rs = mysql_query($strSQL);
&GT;
感谢您帮助我!
答案 0 :(得分:2)
您可以使用动态生成的where子句,如下所示
$where = ' 1=1 ';
if(isset($_REQUEST['param1']))
{
$where .= " and db_field1 = ".mysql_real_escape_string($_REQUEST['param1']);
}
if(isset($_REQUEST['param2']))
{
$where .= " and db_field2 = ".mysql_real_escape_string($_REQUEST['param2']);
}
$strSQL = "SELECT * FROM informatie ".$where." ORDER BY id DESC;";
这里mysql_real_escape_string将避免mysql注入。
希望这会对你有所帮助。
答案 1 :(得分:1)
对于过滤,大多数情况下您可以使用数据库。 现在你的SQL语句是这样的:
$strSQL = "SELECT * FROM informatie ORDER BY id DESC;";
要过滤表informatie
中的信息,您应该更改SQL语句,例如:
$strSQL = "SELECT * FROM informatie WHERE `eventviewer_nagekeken` = 1 ORDER BY id DESC;";
这将返回eventviewer_nagekeken
等于1的所有行。这样,您就可以从informatie
表中的数据池创建各种输出。
有关文档和示例,请参阅docs。