2012-03-21 7 views
0

可能性の重複渡す:
w3 validation issue問題はW3Cのバリデータに

は、私は自分のサイトのためのW3Cのバリデータを渡すことはできませんが(http://www.bbway.com

私は4エラーの

を得ました

1行294列19:終了していないtrの終了タグ

</td></tr><tr></tr></table> 

2-ライン362は、列19:終了していない "TR" の終了タグ:

</td></tr><tr></tr></table> 

3-線400、列19を終了していない "TR" の終了タグ

</td></tr><tr></tr></table> 

、4-ライン438、カラム19:終了していない "TR" の終了タグ

</td></tr><tr></tr></table> 

すべてのトップのエラーは私はあなたがこの問題のために、あなたの修正を共有してください可能性があり、このコード

$getnewbrds=$db->query("select id,userid,title,added_date,active 
from brd 
where active='1' order by id desc limit 9"); 
echo '<table width="100%" border="0" cellpadding="5"><tr>'; 
$count = 0; 
$max = 3; 
while($fetch_newbrds=$db->fetch($getnewbrds)){ 
$count++; 

$getbrduser = get_val("id,name","users","where id='$fetch_newbrds[userid]'","name"); 
$getbrduseri = get_val("id,name","users","where id='$fetch_newbrds[userid]'","id"); 


echo '<td align="center" width="30%" valign="top"> 
<table border="0" width="100%" cellspacing="3" cellpadding="3"> 
<tr> 
<td height="50" colspan="2" align="center"> 
<a href="showbrd-'.$fetch_newbrds['id'].'.html" title="'.$fetch_newbrds['title'].'"> 
'.$fetch_newbrds['title'].'</a> 
</td> 
</tr> 
<tr> 
<td colspan="2" align="right" class="brduseronmain"> 
<a href="users-'.$getbrduseri.'.html" title="'.$getbrduser.'">'.$getbrduser.' 
<span>'.$fetch_newbrds['added_date'].'</span> 
</a> 
</td> 

</tr> 
</table> 
</td>';  


if($count >= $max){ 
    $count = 0; 
    echo '</tr><tr>'; 
} 

} 

echo '</tr></table>'; 

を使用し、私の(マルチコラムコード)から来ています。

+0

空の ''は許可されていませんが、PHPの複雑さは完全に有効なHTMLを持つ価値がありません。 – Ryan

+0

@Rocket、どちらも答えられていません:) –

+2

あなたのコードはwayyyが非常に多くのネストしたテーブルを作成します。 – hjpotter92

答えて

1

あなたの問題はここにある:

if($count >= $max){ 
    $count = 0; 
    echo '</tr><tr>'; 
} 

あなたが最後の繰り返しで、それは、出力空行をしないようにロジックを追加する必要があります。

これを別のカウンターで行うこともできますが、より良い方法として、<tr>をしばらく外に貼り付けないでください。

+0

私はそれらを分割するために多くの方法を試みましたが、いつも私はバリデータを渡すことができません –

+0

彼はフローティングDIVブロック(または[何か他のもの)でそれをした場合(http://www.woothemes.com/2011/05/responsive -design-using-css3-media-queries /)を使用すると、テーブルについてはまったく心配する必要はありません。 @AndrewR、 – AndrewR

+0

が合意した。しかし、それは問題の範囲を超えています。空の ''を削除することは、数行のコードを移動するだけで簡単です。 –

0

ここにあなたのコードはありますが、テストしたデータは提供していないのでテストしませんでした。私は

  1. をした

    $getnewbrds=$db->query(" 
        select 
         id, 
         userid, 
         title, 
         added_date, 
         active 
        from 
         brd 
        where 
         active='1' 
        order by 
         id desc 
        limit 9 
    "); 
    
    $count = 0; 
    $max = 3; 
    
    $html = '<table width="100%" border="0" cellpadding="5">'; 
    
    while($fetch_newbrds = $db->fetch($getnewbrds)) { 
        $count++; 
    
        if($count % $max === 1){ 
         $html .= '<tr>'; 
        } 
    
        $getbrduser = get_val("id,name","users","where id='$fetch_newbrds[userid]'","name"); 
        $getbrduseri = get_val("id,name","users","where id='$fetch_newbrds[userid]'","id"); 
    
        $html .= ' 
        <td align="center" width="30%" valign="top"> 
         <table border="0" width="100%" cellspacing="3" cellpadding="3"> 
          <tr> 
           <td height="50" colspan="2" align="center"> 
            <a href="showbrd-'.$fetch_newbrds['id'].'.html" title="'.$fetch_newbrds['title'].'"> 
             '.$fetch_newbrds['title'].' 
            </a> 
           </td> 
          </tr> 
          <tr> 
           <td colspan="2" align="right" class="brduseronmain"> 
            <a href="users-'.$getbrduseri.'.html" title="'.$getbrduser.'">'.$getbrduser.' 
             <span>'.$fetch_newbrds['added_date'].'</span> 
            </a> 
           </td> 
          </tr> 
         </table> 
        </td> 
        '; 
    
        if($count % $max === 0){ 
         $html .= '</tr>'; 
        } 
    } 
    
    if($count % $max !== 0) { 
         while($count % $max !== 0) { 
          $html .= '<td></td>'; 
          $count++; 
         } 
         $html .= '</tr>'; 
    } 
    
    $html .= '</table>'; 
    echo $html; 
    

    いくつかのことはきちんとあなたのコードをインデント。 質問を投稿する

  2. が完了すると、最初に変数にhtmlがキャプチャされます。右の出力に...

最善の方法ではない私は$countは、私は新しい<tr>を開く必要があるかどうかを判断するために$max1で割った場合に把握する係数を使用...と見るために同じ検査をしました残りの部分を0にして閉じる必要があるかどうかを確認してください。最後に、 が閉じられたかどうかを確認しながら、最後に<td></td>を追加して、 <tr>

関連する問題