1

こんにちは、phpとmysqlはかなり新しいので、誰かが私を正しい方向に向けてくれることを願っています。

次の列のテーブルがあります。

+----+---------------------+---------------+------+
| id | date                | news_content  | shows|
+----+---------------------+---------------+------+
|  1 | 2013-03-19 14:47:27 | This is news1 |  1   |
|  2 | 2013-03-19 14:47:27 | This is news2 |  1   |
|  3 | 2013-03-19 14:47:37 | This is news3 |  1   |
|  4 | 2013-03-19 14:47:37 | This is news4 |  1   |
+----+---------------------+---------------+------+

Showの値は0または1(デフォルト)です。値が0の場合、news_contentとdateを非表示にします。

printnews関数は、すべてのニュース記事と3つのアンカーリンクの表示または非表示、編集、追加を出力します。mysqlデータベースの何かを変更して、shows = 0のときにニュースが表示されないようにする必要がありますか?または、phpでそれを行う別の方法はありますか?

編集:非表示リンクを押すと、表示値を0に設定してその記事を非表示にし、表示リンクを押すと、記事を表示します。現時点では、値が0のときに記事を非表示にするものはありません。

function printnews() {
    $data = mysql_query("SELECT * FROM news ")  
    or die(mysql_error());  
    while ($info = mysql_fetch_array($data)) {
         $id = $info['id']; 
         $show = $info['shows'];
         if($show == 1) {
           echo "<br><a href=show.php?id=$id&shows=0> Show </a><br>";
         }   
         else if($show == 0) {
           echo "<br><a href=show.php?id=$id&shows=1> Hide </a><br>";
         }
         // Print Articles and Date
         echo "<br><a href=Edit.php?id=$id>Edit</a><a href='addnews.php'> Add </a><br><strong>". $info['date']."</strong><br>". $info['news_content'] . "<hr><br>";
    }

mysql拡張機能を使用するべきではないことを認識しているので、それに関するコメントは無視してください。

4

1 に答える 1

3

が に設定されているSELECTデータのみをフェッチするようにクエリを更新できます。show1

SELECT * 
FROM `news`
WHERE `shows` = 1
于 2013-03-21T23:25:48.457 に答える