2011-07-25 22 views
-3

我有一個名爲「Names」的表,它包含大約400個輸入。 我希望每50個名字都在一個div中。Mysql - 將數據拆分爲div

<div id="1">name1, name2, ... name50</div> 
<div id="2">name51,name52, ... name100</div> and so on ... 

任何幫助?

+1

顯示迄今爲止所寫的內容,我們可以幫助解決它。我們不在這裏爲你做你的工作。 –

回答

0

這是很容易使用下面的腳本來實現(希望我跳過了語法錯誤):

<?php 
    //Get the names 
    $names_res = mysql_query("SELECT names FROM Names"); 

    //Set a counter 
    $counter = 0; 

    //Loop over the names 
    while($name_arr = mysql_fetch_assoc($names_res)) 

     //Let's see now... 
     if(($counter % 50 == 0) || $counter == 0 ) 
      echo '<div id="', (($counter == 0)? 1 : ($counter/50)+1) , '">';  

     //Output the name 
     echo $name_array['name'] , (($counter % 49 === 0)? '' : ', '); 

     //Close the div if neccesary 
     if(($counter % 49 == 0) || $counter == 0) echo '</div>'; 

     //Yes, we do want to increment it 
     $i++; 
    } 
?> 

祝你好運!

+0

D'oh,「贏家不是你」。 – ninetwozero

+0

輸出不正確,它給出了一個div中的每個名稱。它應該是一個div中的每個50個名稱。 – Khalid

+0

哦叉,我忘了在我的while循環結束時添加'$ i ++' - 在上面的例子中修復。 – ninetwozero

0

像這樣的東西應該至少是一個良好的開端:

for ($n = 0; $n< 140; $n++) { 
    $names[] = 'name'.$n; 
} 

$n = 0; 
$div = 0; 
foreach ($names as $name) { 
    if ($n%50 == 0) { 
     $div++; 
     echo '<div id="'.$div.'">'; 
    } 
    echo $name . ', '; 
    if ($n%50 == 49) { 
     echo '</div>'; 
    } 
    $n++; 
} 
echo '</div>'; 
+0

謝謝,真的很有幫助。 – Khalid