PHP MYSQL,如何在四列中显示记录,

时间:2010-07-09 03:22:35

标签: php mysql

以下是我的代码,记录显示在四列中,但如果我的记录为空白,则会显示三个平面图像,是否有任何建议?

$query = mysql_query("SELECT * from rbf_events_images where event_id='".$_GET['id']."'");
echo '<table border="1">';
if(count(mysql_num_rows($query)>0)):
$tropentags='<tr>';
$troclosingtags='</tr>';
$formTags="";
$tdTags="";
$count=1;
while($row = mysql_fetch_array($query)){

$tdTags.='<td align="left" valign="middle" class="td" >$row['image']</td>';

if ($count>3)
    {
   $formTags.=$tropentags.$tdTags.$troclosingtags;
   $tdTags="";
   $count=0;
    }
    $count=$count+1;
  }
if ($count>0)
{
  for($i = 1; $i <= (4-$count) ; $i++)
  {
$tdTags.='<td align="left" valign="middle" class="td"  >$row['image']</td>'; 
  }
  $formTags.=$tropentags.$tdTags.$troclosingtags;
}

echo $formTags;  


endif;

感谢您的帮助!真的很感激!

2 个答案:

答案 0 :(得分:1)

我注意到像这样的行:

$tdTags.='<td align="left" valign="middle" class="td" >$row['image']</td>';

您使用单引号(')分隔字符串,并且您还尝试在使用单引号的字符串中嵌入变量。我不确定你是怎么没有得到编译错误的。我会切换到:

$tdTags= '<td align="left" valign="middle" class="td">' . $row['image'] . '</td>';

答案 1 :(得分:0)

以下是我通常将记录放在列中的方法:

$id = mysql_real_escape_string($_GET['id']);
$query = mysql_query("SELECT * from rbf_events_images where event_id='$id'");
echo '<table border="1"><tbody><tr>';
if (mysql_num_rows($query) > 0) {
    $count = 0;
    while ($row = mysql_fetch_array($query)) {
        if ($count && $count % 4 == 0) echo '</tr><tr>';
        echo '<td align="left" valign="middle" class="td">'.$row['image'].'</td>';
        $count++;
    }
}
echo '</tr></tbody></table>';