我从MySQL数据库中的表中提取一些数据。在这个表中是一个名为“hidden”的列,默认情况下它被设置为0,但是当一个项需要被隐藏时,它将被设置为1.所以我需要一个我可以使用的代码,它将隐藏所有行“隐藏”列设置为1。
让我们说我的代码很简单:
<?php
$result = mysql_query("SELECT * FROM clients ORDER BY name")
or die(mysql_error());
while($row = mysql_fetch_array( $result )) {
echo $row['name'];
}
?>
我可以添加一个简单的代码吗?
答案 0 :(得分:2)
在其上添加WHERE
条款
SELECT *
FROM clients
WHERE hidden = 0
ORDER BY name
上面的查询只会显示未隐藏的项目。
答案 1 :(得分:1)
$result = mysql_query("SELECT * FROM clients WHERE hidden = 0 ORDER BY name");
这可能是最简单的方法。
答案 2 :(得分:0)
有两个选项:
1)如果您总是希望隐藏这些行,那么您甚至不必通过更改查询来加载它们。
SELECT * FROM clients WHERE hidden=0 ORDER BY name;
2)您可以在while循环中检查该值。
while($row = mysql_fetch_array( $result )) {
if($row['hidden']==0) echo $row['name'];
}
答案 3 :(得分:0)
您当前的查询
SELECT * FROM clients ORDER BY name
检索表中的每一行。如果要隐藏(不检索)hidden
列的值为1
的行,则只需添加WHERE子句以检查hidden
是否不等于1
SELECT * FROM clients WHERE hidden = 0 ORDER BY name
答案 4 :(得分:0)
<?php
$result = mysql_query("SELECT * FROM clients WHERE hidden=0 ORDER BY name")
or die(mysql_error());
while($row = mysql_fetch_array( $result )) {
echo $row['name'];
}
?>
答案 5 :(得分:0)
$result = mysql_query("SELECT * FROM clients WHERE hidden=0 ORDER BY name");
将仅返回未隐藏的行。
此外,如果这是您要编写的新程序,请使用MySqli或PDO而不是mysql_ *函数,因为它们已被弃用。请参阅 - http://us.php.net/mysqli和http://us.php.net/pdo