2013-10-14 45 views
0

我最近修改了一个分页脚本来显示mySQL数据库。它看起来相当不错,但有一件事我想改变。3行显示SQL数据

下面是脚本现在的样子: http://gyazo.com/7ef0d74caa781ab3e5f72a9935bcd7d0.png

它看起来体面,但右侧这么多的额外空间。所以我想我想在右侧添加同样的东西,另外2列包含更多信息。在这种情况下,只有15个,但这样做后,页面上会有45个结果。现在,这里是我的脚本中最重要的部分:

<?php 
    while($row = mysql_fetch_array($result)) 
    { 
    echo "<div id='matchcall' style='float: left'>$row[winner] vs $row[loser] ($row[matches])<br />"; 

    } 
?> 

现在,请注意我有极限到15页,但是,如果我这样做,我可以乘上3和含有较多每页信息。我想到的方法来解决这个问题,唯一体面的一个我不得不为:

 if ($row['id'] == 15){ 
     echo "</div><div style='float: left'> 
        $row[winner] vs $row[loser] ($row[matches])<br /> 
    } 

但是,这不会在所有的工作,因为它只会影响到第15分的结果,它不会继续将接下来的15个浮动到右侧。所以我意识到我需要一种方法让它认识到15中的变化并以这种方式进行。任何人都可以在这个问题上闪耀一些光芒?

回答

0

如果我是你,我会用一个表格来显示这些结果明显更深入的讨论:

<table> 
    <tr> 
     <td>Result1</td> 
     <td>Result2</td> 
     <td>Result3</td> 
    </tr> 
    <tr> 
     <!--td columns for the results of the second row--> 
    </tr> 
    <!--And 13 more rows... --> 
</table> 

注意:不要使用相同id为多个html标签,这是一个非常糟糕的做法。

id='matchcall' 

被重复。使用

class='matchall' 

如果您需要相同的值。

这是你可以生成你的表(我不是设计一个适合你,但你会赶上的想法):

<?php 
    $myTable = "<table>"; 
    $index = 0; 
    while($row = mysql_fetch_array($result)) 
    { 
     $modulo = $index % 3; 
     if ($modulo === 0) { 
      $myTable .= "<tr>"; 
     } else if ($modulo === 2) { 
      $myTable .= "</tr>"; 
     } 
     $myTable .= "<td><div class='matchall'>$row[winner] vs $row[loser] ($row[matches])</div></td>"; 
     $index++; 
    } 
    $myTable .= "</table>"; 
    echo $myTable; 
?> 

没有时间来测试它,但你明白我的想法。

+0

真棒的帮助,但我真的希望我知道更多关于如何modulo工作,截至目前我只是插入数字哈哈。无论如何,感谢您的帮助。 – Jacob

+0

Modulo:考虑以下等式:(a + m)/ b = c,其中a,b,c和m是整数。我们可以说,除以b等于c,模m,因为m是要加到a的整数,所以总和的结果除以b得到整数。一般来说,我们选择一个m值为正数,小于b的绝对值(b距离原点的距离)。例子:5/2 = 2 mod 1,因为2 * 2 + 1 = 5。例2:9/7 = 1 mod 2,因为1 * 7 + 2 = 9。http://en.wikipedia.org/wiki/ Modular_arithmetic –