【问题标题】:Mysql - Split data into div [closed]Mysql - 将数据拆分为 div [关闭]
【发布时间】:2011-07-25 18:17:50
【问题描述】:

我有一个名为“Names”的表,它包含大约 400 个输入。 我希望每 50 个名字都在一个 div 中。

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

有什么帮助吗?

【问题讨论】:

  • 显示您目前所写的内容,我们可以帮助修复它。我们不是来为你做你的工作的。

标签: php mysql html split


【解决方案1】:

这很容易使用以下脚本实现(希望我跳过了语法错误):

<?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++;
    }
?>

祝你好运!

【讨论】:

  • 输出不正确,它在一个 div 中给出了每个名称。它应该是一个 div 中的每 50 个名称。
  • 哦叉子,我忘了在我的 while 循环末尾添加 $i++ - 在上面的示例中已修复。
【解决方案2】:

这样的事情至少应该是一个好的开始:

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>';

【讨论】:

    猜你喜欢
    • 2014-12-22
    • 1970-01-01
    • 2021-01-30
    • 1970-01-01
    • 2014-12-15
    • 1970-01-01
    • 2020-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多