2011-07-25 29 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