0

フォーラムのページ付けをしようとしています。すべてがどこにでもありますが、私はデータベースから表示する結果を取得しようとしています。

これが私のコードです:

<!-- start with the table -->
<table width="100%" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC">
  <tr>
<td width="53%" align="center" bgcolor="#E6E6E6" style="padding:5px;"><strong>Topic / Thread Starter</strong></td>
<td width="15%" align="center" bgcolor="#E6E6E6" style="padding:5px;"><strong>Replies/Views</strong></td>
<td width="13%" align="center" bgcolor="#E6E6E6" style="padding:5px;"><strong>Last Post By</strong></td>
</tr>

                <div id="p1" class="pagedemo _current" style="">
<?php

$sql="SELECT * FROM forum ORDER BY datetime DESC";
$result=mysql_query($sql);
$i = 1;
$z = 1; 

while($rows = mysql_fetch_array($result)){ // Start looping table row 
    if(($i % 4) != 0) 
    { ?>
    <tr>
<td bgcolor="#FFFFFF" style="padding:5px;"><a class="normal" href="view_topic.php?id=<? echo $rows['id']; ?>"><? echo $rows['topic']; ?></a><br /><span style="color:#666; font-size:12px;">Started By <?php echo "<a class='normal' href='http://www.example.com/view_profile.php?user=".getID($rows[username])."'>"; ?> <? echo $rows['username']; ?></a></span></td>
<td align="center" bgcolor="#FFFFFF">Replies: <? echo $rows['reply']; ?><br />Views: <? echo $rows['view']; ?></td>
<td align="center" background="http://example.com/images/forum_fade_bckg.png"><span style="color:#666; font-size:12px;">
<?php echo "<a class='normal' href='http://www.example.com/view_profile.php?user=".getID($rows[lastPoster])."'>"; ?> <?php  echo $rows['lastPoster']; ?></a><br /><?php $date = substr($rows['datetime'],0,12);
if($date == date("M d, Y")) { 
    echo "Today, " . substr($rows['datetime'],-8); 
} else {
    echo $rows['datetime'];
}?> </span></td>
</tr>
    <?php
        // do whatever for the page... (this is inside the div)
        $message = $row['message'];
        echo $i . " " . $message. "<br>";
        $i+=1;
    } 
    else 
    {
        $z+=1;
        // GET ONLY NUMBERS HERE THAT ARE DIVISIBLE BY 4!!!!
        // this is the end of the starting page, and the begining of the next page
        echo '<br>---end---</div>
        <div id="p'.$z.'" class="pagedemo" style="display:none;">---start---<br>NEXT PAGE!!!!!!!'; //
    }

}

?> 
</div>

結果は、divにとどまるのではなく、実際にはdivの下にあります。とのすべてを取り出す<tr></tr>、すべてがdivに収まります。私は何が間違っているのですか?

4

1 に答える 1

0

ページのソースを表示すると、問題が明らかになるはずです。問題になる可能性のある間違いがいくつか見られます。

スニペットの上部にある TABLE は TR タグを終了し、DIV を開始します。DIV は、TD、TH 内、または TABLE の外側にのみ存在する必要があります。また、提供したスニペットには、終了テーブル タグはありません。他のすべての問題は、おそらくブラウザを台無しにしているものです。

構造を次のように調整してください。

<div>...</div>
<table>
   <tr>
      <td>Some tags in here(A, DIV, SPAN, etc.)</td>
   </tr>
   <tr>
      <td>...</td>
      <td>...</td>
   </tr>
</table>
<div>...</div>

また、特定の属性をスタイル タグの css プロパティに移行することも価値があります。たとえば、スニペットの background、bgcolor、align、および width 属性です。

問題を確認できずにデバッグするのが難しい問題が修正されない場合は、申し訳ありません。

于 2012-04-04T00:26:25.097 に答える