如何将echo mysql_fetch_array设置为水平?

时间:2014-01-15 17:36:06

标签: php mysql html-table

此代码从基于varchar'group'的mysql数据加载到表中并将图片放入其中。它正在工作,但结果是垂直相册,但我想横向。

<?php 
include "../script/connect_to_mysql.php";
if (isset($_GET['a'])) {
    $ge = $_GET['a'];   
    $tisk = "";
    $sql = mysql_query("SELECT * FROM lch WHERE  `group` = '$ge' ");
    $productCount = mysql_num_rows($sql); // count the output amount
    if ($productCount > 0) {
        while($row = mysql_fetch_array($sql)){
            $id = $row["id"];
            $name = $row["name"];
            $tisk .='<table width="120" height="120" ><br>
                <tr><br>
                    <td height="118" colspan="2"><br><img src="../lch/ikon/' . $id . '.jpg" alt=' . $name . ' width="100" height="100" /><br>;</td>
</table>';<br>      
        }<br>
     }<br>

echo "$tisk";<br>

}<br>
?>

大声笑我可以发表自己的答案。我找到了适合我的解决方案。我在这里发布它。无论如何,谢谢你的帮助:-P


    include "../script/connect_to_mysql.php";

    if (isset($_GET['a'])) {
       $ge = $_GET['a'];
       $tisk = "";
       $sql = mysql_query("SELECT * FROM lch WHERE  `group` = '$ge' ");
       $productCount = mysql_num_rows($sql); // count the output amount
 if ($productCount > 0) {

     $tisk = '<table width="120" height="120"><tr>';
while($row = mysql_fetch_array($sql)){

    $id = $row["id"];
    $name = $row["name"];
    $tisk .='<td height="118" colspan="2"><img src="../lch/ikon/' . $id . '.jpg" alt="$name" width="100" height="100" /></td>';
 }

 echo '<table width="120" height="120">
 <tdbody>
    <tr>
    ' .$tisk. '
    </tr>
    </tbody>
    </table>         
 ';
  }

  }

1 个答案:

答案 0 :(得分:0)

我修改了你的帖子,所以你当然可以让你在代码中发布表格。 (我留下了可能是语法错误的内容)

假设<br>是您在编辑器中发布杂乱代码的工件,您只需将<tr></tr>移到循环外。

if ($productCount > 0) {
    $tisk = '<table><tr>';
    while(row = mysql_fetch_array($sql)){
        $id = $row["id"];
        $name = $row["name"];
        $tisk .='<td><img src="../lch/ikon/' . $id . '.jpg" alt=' . $name . ' width="100" height="100" /></td>';
     }
     $tisk = '</tr></table>';
     echo $tisk;
}

这将生成一个包含同一行中所有单元格的表,而不是一堆包含所有一列的表。

如果您希望每行有一定数量,则需要使用modulo:

if ($productCount > 0) {
    $cellCount = 0;
    $tisk = '<table><tr>';
    while(row = mysql_fetch_array($sql)){
        $cellCount++;
        if($cellCount%5==0){
          $tisk .= '</tr><tr>';
        }
        $id = $row["id"];
        $name = $row["name"];
        $tisk .='<td><img src="../lch/ikon/' . $id . '.jpg" alt=' . $name . ' width="100" height="100" /></td>';
     }
     $tisk = '</tr></table>';
     echo $tisk;
}