2011-12-28 7 views
2

データベースにデータがあり、その出力がORDER BY categoryで出力されていますが、どのようにカテゴリを一度しか表示できないのでしょうか?カテゴリを一度表示するmysql

私のスクリプトは、テーブルを反復し、すべての項目をカテゴリ名で並べ替えます。

私のような何かをする私は現在、この

while($r = mysql_fetch_array($SQL){ 
    $name = $r['name']; 
    $category = $r['category']; 

    echo $category; //I want to be able to echo this once 
    echo $name; // this will be echoed many times depending on the category this falls into 
} 
+0

[PDO](http://www.php.net/pdo)をご覧ください。 –

+1

@PhpMyCoder PDOとOPの問題は何が関係していますか? – PeeHaa

+0

@PeeHaa古い「mysql_ *」ファミリの関数群よりもPDOの使用を推奨するべきではありませんか? –

答えて

4
$category = null; 
while($r = mysql_fetch_array($SQL){ 
    $name = $r['name']; 

    if ($category != $r['category']) { 
     $category = $r['category']; 

     echo $category; //I want to be able to echo this once 
    } 
    echo $name; // this will be echoed many times depending on the category this falls into 
} 
3

のようなものを持って、値の残りの部分は、そのカテゴリ内

を落ちることができ、一度そのカテゴリ名を表示できるようにしたいです:

$prev_category = ""; 
while($r = mysql_fetch_array($SQL){ 
    $name = $r['name']; 
    $category = $r['category']; 

    if($prev_category != $category) 
     echo $category; 
    echo $name; 
    $prev_category = $category; 
} 

変更された場合のみ新しいカテゴリを印刷します。

+2

ありがとうございます。しかしそれはエラーではなく、警告だけです。それはPHP =) – SlavaNov

+0

スラヴァに感謝します。しかし、@PeeHaaには私に警告なしで素晴らしい作品があります:) – hellomello

+0

@Slavaそう、私はPHPが嫌いです。実際にはないけど、私が何を意味するか知っている:) – PeeHaa

関連する問題