1

I am pulling some data from table in a MySQL database. Inside this table is a column called "hidden", by default it is set to 0, but when an item needs to be hidden, it will be set to 1. So I need a code that I can use that will hide all rows if the "hidden" column is set to 1.

Lets say my code is something simple like this:

<?php
$result = mysql_query("SELECT * FROM clients ORDER BY name") 
or die(mysql_error());  
while($row = mysql_fetch_array( $result )) {
echo $row['name'];
} 
?>

Is there a simple code I can add to it?

4

6 に答える 6

2

WHEREその上に句を追加します

SELECT * 
FROM clients 
WHERE hidden = 0
ORDER BY name

上記のクエリでは、非表示になっていないアイテムのみが表示されます。

于 2012-10-07T23:42:12.867 に答える
1
$result = mysql_query("SELECT * FROM clients WHERE hidden = 0 ORDER BY name");

それがおそらく最も簡単な方法です。

于 2012-10-07T23:42:45.577 に答える
0

2つのオプションがあります:

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'];
}
于 2012-10-07T23:42:35.547 に答える
0

現在のクエリ

SELECT * FROM clients ORDER BY name

テーブル内のすべての行を取得します。hidden列の値がである行を非表示にする(取得しない)場合は1、WHERE句を追加して、hiddenと等しくないことを確認し1ます。

SELECT * FROM clients WHERE hidden = 0 ORDER BY name
于 2012-10-07T23:43:03.133 に答える
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'];
} 
?>
于 2012-10-07T23:43:50.853 に答える
0
$result = mysql_query("SELECT * FROM clients WHERE hidden=0 ORDER BY name");

非表示になっていない行のみを返します。

また、これを作成する新しいプログラムの場合は、mysql_ *関数の代わりにMySqliまたはPDOを使用してください。これらは非推奨になっているため、参照-http: //us.php.net/mysqliおよびhttp://us.php.net/pdo

于 2012-10-07T23:52:19.583 に答える