0

嗨,我需要从 mySQL 表中构建一个包含四列的表。这是我现在拥有的:

 <?php

 "<table>";
     while ( $row = mysql_fetch_array( $result , MYSQL_ASSOC) )
     {
         "<tr>";
         "<td>";         
           print("<p><img id='g1' src='/$row[img]' width=130 height=130 onClick='f1()'>" );  
           print( "<p> Name: $row[name] <br>");    
          "</td>";
      "</tr>";
        "</table>";
           }


  ?>

输出将是一个像这样的列表:

在此处输入图像描述

我需要表格在四列中,如下所示:

在此处输入图像描述

如果我该怎么做,这可能吗?

4

3 回答 3

1

只需将<tr>s移到.while

"<table><tr>";
while ($row = ...) {
    "<td>";
    ...
    "</td>";
}
"</tr></table>";

我认为这是某种伪代码,因为您实际上并没有将字符串写入任何内容。您也不应该mysql_在新代码中使用这些函数,而应使用 PDO 或 mysqli。

于 2013-05-09T19:11:54.240 回答
0
"<table>";
"<tr>";
 $i=1;
 while ( $row = mysql_fetch_array( $result , MYSQL_ASSOC) )
 {         
      "<td>";         
       print("<p><img id='g1' src='/$row[img]' width=130 height=130 onClick='f1()'>" );  
       print( "<p> Name: $row[name] <br>");    
      "</td>";
      if ($i%4 == 0){
          "</tr><tr>"
      }
      $i++;
    "</tr>"
    "</table>";
       }
于 2013-05-09T19:13:09.790 回答
0
<?php
$items_in_row = 4 ;
$index = 0 ;
?>

<table>
  <tr>

<?php
while ($row = mysql_fetch_array( $result , MYSQL_ASSOC)){ 
  $index++ ; ?>
  <td>       
    <p>
      <img id='g1' src='/<?php echo $row["img"] ;?>' width=130 height=130 onClick='f1()'>" ; 
    </p>
    <p> Name: <?php echo $row['name'] ; ?> </p>
    <br>
  </td>
<?php if ($index%$items_in_row == 0){ ?>
  </tr>
  <tr>
<?php }
} ?>
</tr>
</table>

已编辑

于 2013-05-09T19:19:50.950 回答