2010-07-09 63 views
-1

這裏是我的代碼記錄顯示在四列,但如果我的記錄是空白的,它顯示三個balng圖像,有什麼建議嗎?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; 

感謝您的幫助!非常感謝!

+0

可以提高你的代碼是可讀的?用四個空格縮進代碼,它會正確顯示。 – 2010-07-09 03:25:22

+1

@MainMa - 代表@ devzone編輯:) – Matchu 2010-07-09 03:26:30

+0

它仍然是不可讀的,但現在由於其他原因(重構等)。 – 2010-07-09 03:31:05

回答

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>'; 
+0

感謝您的幫助Mark Godbless! – devzone 2010-07-20 01:07:08

+0

沒問題。我很高興你發現它有幫助!如果你真的使用了我的答案,如果你可以將我的答案標記爲已接受(這會增加你的聲望點),那將是非常棒的。項目祝你好運! – 2010-07-20 13:05:30

1

我注意到,在這樣一個線:

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

你劃定單引號(')的字符串,並且我們也在嘗試使用單引號的字符串中嵌入一個變量。我不知道你怎麼沒有得到編譯錯誤。我會切換到:

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

更具體地說,沒有關係,如果有一個索引或者不是,因爲單引號中的任何內容都有文字輸出,並且不會解析變量。「'一些文本$ var more text'只是輸出完全一樣:Some文本$ var更多文本。 – 2010-10-16 02:27:31