2011-08-04 13 views
1

私はwhileループを実行しており、これはMYSQLテーブルから値を戻しています。クエリから約90エントリを返します。私の希望は、最大これらの90個の値を破り、5のグループでそれらを表示する。これは混乱に聞こえるかもしれので、私は助けるためにいくつかのコードサンプルを共有しましょうことができるようにすることです明らかにする:私はその値を引き出しています。ここPHP Whileループの出力を制限する方法はありますか

$con = mysql_connect("host", "username", "password") or die ("Unable to connect to server"); 
mysql_select_db("database") or die ("Unable to select database"); 
$sql = mysql_query("SELECT * FROM `table` WHERE column IS NOT NULL AND column <> ''"); 

私はテーブルから必要です...

while($row=mysql_fetch_array($sql)) 
{ 
$id=$row['id']; 
$column=$row['column']; 

echo $id . '<br>'; 
echo $column . '<br>'; 

} 

この時点で、私はループを実行し、すべての90のエントリの表示を取得しました。どのように値を引き出し、小さな塊で表示できますか? whileループの外側でループされた値を使用すると、セットの最後の値が返されます。ループ内の特定のグループ化を得るために、カラムからユニークな$id値を使用する簡単な方法はありますか?

+0

5桁でグループ化しますか?またはIDによって?あなたは両方とも言います。 –

+1

あなたのSQLで 'LIMIT'句の使用を検討しましたか? – Dor

+0

@Jasonは、私はちょうど5 – Presto

答えて

2

これは、それぞれ5つのレコードの後に​​、よりBRのと時間を追加します。

$cnt = 0; 
while($row=mysql_fetch_array($sql)) 
{ 

    $id=$row['id']; 
    $column=$row['column']; 

    echo $id . '<br>'; 
    echo $column . '<br>'; 

    if($cnt % 5 == 0) echo "<br><br><hr><br><br>"; 

    $cnt++; 
} 
+0

ここにはいくつかの素晴らしい解決策がありますが、あなたの答えは私にとって意味があり、私が必要とする解決方法を提供しました。私はDorのコメントから 'LIMIT'を組み込み、その後の正確なレイアウトを得ました。ありがとう。 – Presto

0

このデータを変数に保存し、ループ外で参照したいとします。

このお試しください:

$data = array(); 
while($row=mysql_fetch_array($sql)) 
{ 
    $data[$row['id']] = $row['column']; 
} 

そして今、あなただけの特定の行を表示することができます

print $data[$someRow]; 
+0

このグループのための最良の選択肢であります非常に便利で、私の二次的な問題に対する解決策を提供します。助けてくれてありがとう。 – Presto

1

をあなたが取ることができる1つ(非常に洗練されたものではない)アプローチがあります:

$group_size = 5; 
$tracking_variable = 0; 
while ($row = function_to_fetch_row()) { 
    if ($tracking_variable == 0) { 
     // logic for the start of a grouping 
    } 
    // logic to display the row 
    $tracking_variable = ($tracking_variable + 1) % $group_size; 
    if ($tracking_variable == 0) { 
     // logic for the end of a grouping 
    } 
} 
if ($tracking_variable > 0) { 
    // logic for the end of the final grouping 
} 
関連する問題