2012-03-23 7 views
1

私はサイクル中に単純なMySQLクエリを持っています。 2回目のエントリー変更後に何が必要なのですか<div id="bigdivider"></div><div id="productdivider"></div> 可能ですか?あるいは、私はそのタスクを実行するためにいくつかの機能が必要ですか?mysqlクエリの最初の2つの後に別の行を挿入します。

query="select * FROM prekes"; 
mysql_query("SET NAMES 'UTF8'"); 
$rt=mysql_query($query);   
echo mysql_error(); 
while($laukelis=mysql_fetch_array($rt)){ 
    $id=$laukelis['id']; 
    $pavadinimas=$laukelis['preke']; 
    $gamintojas=$laukelis['gamintojas']; 
    $kaina = $laukelis['kaina']; 
    $data = $laukelis['data']; 
    $foto = $laukelis['foto']; 
    $nuoroda = 'info.php'; 
     if (isset ($_SESSION['user'])){ 
echo '<div id="pro"><a href="#"><h1>'.$gamintojas.' "'.$pavadinimas.'"</h1></a><img class="float-left" src="prekiu_foto/'.$foto.'"width="187" height="134" alt="" /><p>Kaina: '.$kaina.'lt</p><a href="#" id="buyit"></a></div><div id="bigdivider"></div>'; 
}else{ 
echo '<div id="pro"><a href="#"><h1>'.$gamintojas.' "'.$pavadinimas.'"</h1></a><img class="float-left" src="prekiu_foto/'.$foto.'"width="187" height="134" alt="" /><p>Kaina: '.$kaina.'lt</p></div><div id="bigdivider"></div>'; 
} 
} 

答えて

1

それはあなたがdiv要素に他のすべての行を交換、またはproductdividerすべての第三列を使用したいと思っているかどうかをあなたの言語によって少し紛らわしいです。ここでカウンタを使用して、別のdivの間でスワッピング後者の例です:

// use a counter 
$i = 0; 
while (...) { 
    // first and second of three is bigdivider 
    if ($i % 3 < 2) 
     $divcode = '<div id="bigdivider"></div>'; 
    // after every second one, use productdivider instead 
    else 
     $divcode = '<div id="productdivider"></div>'; 

    ... 
    // replace div part with $divcode 
    // obviously use all your other logic still, this is just a sample 
    echo '...<a href="#" id="buyit"></a></div>'. $divcode 
    ... 

    // increment the counter 
    $i++; 
} 
+0

は、それが完璧に働いて、ありがとうございます。 –

0

それはあなたがそうすれば、第一または第二であるかどうかをテストする場合には(第一または第二であるかどうかを追跡します変数を追加します。そうでない場合は整数カウンタを使用するブール変数を使用します)、変数に基づいてif/elseを実行します。

変数はループの前に初期化してから、ループの繰り返しごとに値を切り替える必要があります。

か、次のコードのように、「for」ループのためのwhileループをsubsitutingことにより、別のアプローチを取ることができます:

for($i = 1;$laukelis=mysql_fetch_array($rt);i++) 

し、コードにそれがあるかどうかをテストするために剰余演算子を使用2回目の繰り返し。

あなたも、次のコードのように、ブール変数を使用しながら、このアプローチを使用することができます。

for($is_even=false;$laukelis=mysql_fetch_array($rt);$is_even=!$is_even) 
関連する問題