2010-06-21 24 views
0

我有一個關於頁面和兩個HTML列,我想while while循環我的mysql查詢的內容到兩列,即使它們被定義爲兩個不同的div。我想要做的是以某種方式將mysql數據庫中的行數除以2,然後顯示一半和一半,但我不知道如何做到這一點(特別是做了一半和一半的mysql查詢)雖然循環到2個不同的div?

有人請告訴我如何將一個mysql數據庫分成兩部分,或者想出一個更好的解決方案來解決我的問題?謝謝 :)。

編輯:

<?php $djs_all_db = mysql_query("SELECT * FROM djs") 
     or die(mysql_error());  
     while($djs_all = mysql_fetch_array($djs_all_db)) { 
     echo " 
     <div class="row"> 
     <!--It does it once here--> 
     <div class=\"column column-2\"> 
       <img src=\"images/about/" . $djs['username'] . "-profile.png\" alt=\"Profile\" class=\"profile-image\"/> 

       <p class=\"float-left\"><strong>" . $djs['realname'] . "</strong></p> 
       <p class=\"float-right\"><a href=\"#\" title=\"\">" . $djs['twitterusername'] . "</a></p> 

       <div class=\"clear\"></div> 

       <p>" . $djs['biography'] . "</p> 

      </div> 
     <!--but now for column 2?--> 
      <div class=\"column column-3\"> 
       <img src=\"images/about/profile.png\" alt=\"Profile\" class=\"profile-image\"/> 

       <p class=\"float-left\"><strong>Edward Smith, Developer</strong></p> 
       <p class=\"float-right\"><a href=\"#\" title=\"\">Twitter</a></p> 

       <div class=\"clear\"></div> 

       <p>In tellus arcu, luctus sed vulputate ut, dictum sed nisi. Suspendisse commodo, enim sed mollis cursus, urna quam laoreet velit, vel sollicitudin arcu augue at quam.</p> 
      </div> 

     </div> <!--/.row-->" ?> 
+0

發佈您的代碼還,你已經完成的工作。 – Sarfraz 2010-06-21 12:21:40

+0

最好的方法可能是獲取數組中的所有數據(沒有兩個查詢,爲什麼?),按照某些標準創建兩個新數組,並在它們上循環。但是如果你不向我們展示一些代碼,它仍然與這個一般性建議保持一致。 – 2010-06-21 12:24:57

+0

這裏是我的代碼... – Sam 2010-06-21 12:29:13

回答

2

您可以將每個奇數添加到第1列,每個偶數添加到第2列變量,然後將它們刷新到HTML中。

見我的僞代碼:

while(there_are_more_rows) { 
    if(row_num_is_odd) { 
    $first_column += $result_row; 
    } else { 
    $second_column += $result_row; 
    } 
} 
print "<div='1st-column'>" . $first_column . "</div>"; 
print "<div='2nd-column'>" . $second_column . "</div>"; 
0

嘗試這樣:

$i=0; 
//1rst div: 
     while((count($mysql_results)/2) < $i) 
     { 
      echo $mysql_results[$i]; 
      i++; 
     } 
//2nd div: 
     while((count($mysql_results)/2 >= $i) 
     { 
      echo $mysql_results[$i]; 
      i++; 
     } 
+0

while循環是錯誤的,但如果您不介意第一個div中的前半部分結果,這將起作用。應該是$ i Kendrick 2010-06-21 12:30:15

+0

是的,對於條件抱歉:-) – cypher 2010-06-21 13:13:46

0

由於這種讀給我,你想連接兩個獨立的列和多行的內容表中的成兩個divs?

試試這個:

while ($result = mysql_fetch_assoc($db_result) 
{ 
    $div1 .= $result['column1']; 
    $div2 .= $result['column2']; 
} 

echo "<div class='div1'>".$div1."</div>"; 
echo "<div class='div2'>".$div2."</div>"; 

希望我讀正確的問題....

好運。