【问题标题】:How to display the <div> as per data count displayed below?如何根据下面显示的数据计数显示 <div>?
【发布时间】:2011-04-15 17:27:20
【问题描述】:

我必须根据DB中可用的数据显示在sn-p下方

<div id="testimonial-row">
            <div id="testimonial">
                <ul>

                    <li>"Hello World"</li>
                </ul>
            </div>

            <div id="testimonial">
                <ul>

                    <li>"Hello World"</li>
                </ul>
            </div>

            <div id="testimonial">
                <ul>

                    <li>"Hello World"</li>
                </ul>
            </div>
        </div>

也就是说,每次数据计数(此处为 hello world)大于 3 时都应创建 &lt;div id="testimonial-row"&gt;,因此如果数据计数为“16”,则应创建 &lt;div id="testimonial-row"&gt; 6所有数据显示在创建的 6 个 &lt;div&gt; 标签中的时间

那么有人可以告诉我如何实现 for 循环以在 PHP 中实现这一点吗?

【问题讨论】:

  • ... 请记住,该 id 应该只给一个元素(否则它不会是一个 id,对吧?)。但是,您可以使用 class="testimonial" 之类的内容。
  • 要从中获取数据的表包含一个自动增量id和一个描述字段(这里是hello world)

标签: php for-loop conditional


【解决方案1】:
   echo '<div class="testimonial-row">';
    for ($i=1;$i<=$mysql_num_rows($res);$i++)
     {
        $row = mysql_fetch_array($res);
                echo '<div class="testimonial">';
                echo '  <ul>';
                echo '    <li>'.$row['field'].'</li>';
                echo '  </ul>';
                echo '</div>';

        if ($i%3 == 0) echo '</div><div class="testimonial-row">';
     }  
   echo '</div>';

您不应使用 id="testimonial-row" 或 id="testimonial"。而是使用 class="testimonial-row"。

【讨论】:

    【解决方案2】:

    这里有一些代码

    $count = db_select_count...
    $lastGroupCount = $count % 3;
    $fullGroupCount = $count - lastGroupCount;
    for ($i=0; $i<$fullGroupCount; $i++)
    {
        output_testimonial_row_html(maybe_pass_an_id);
        for ($j=0; $j<3; $j++)
        {
            output_testimonial_html($count[$i*3+$j]);
        }
        close_div();
    }
    
    if ($lastGroupCount > 0)
    {
        output_testimonial_row_html(maybe_pass_an_id)
        for ($j=0; $j<$lastGroupCount; $j++)
        {
            output_testimonial_html($count[$fullGroupCount*3+$j]);
        }
        close_div();
    }
    

    【讨论】:

      【解决方案3】:

      如果我正确理解您的问题:

      for($z=0;$z<16;$z++)
       {
              if($z==0) print '<div class="testimonial-row">';
              else if($z%3==0) print '</div><div class="testimonial-row">';
              print '<div class="testimonial"><ul><li>"Hello World"</li></ul></div>';
       }
       print '</div>';
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-22
        • 1970-01-01
        • 1970-01-01
        • 2012-07-18
        • 1970-01-01
        相关资源
        最近更新 更多