2011-09-10 27 views
1

基本的に私のコードを3行目に表示して新しい行を作成するスクリプトがあります。ただし、すべてが1つの列に表示されます。ここにコードがあります。PHPで行3を表示する際の問題

while($mysql2 = mysql_fetch_array($sql2)) { 
$prodlogo = $mysql2['logo']; 
$prodid = $mysql2['id']; 
$prodname = $mysql2['name']; 

$x = 1; 

if($x==1) { 
    echo "<tr>"; 
} 

echo "<td><img src=images/productpics/$prodlogo></br><a href=viewproduct.php?pid=$prodid>$prodname</a></td>"; 


$x++; 

if($x==3) { 
    echo "</tr>"; 
    $x = 1; 
} 
} 

答えて

2

移動ループのうちの$ Xのようにアクセスすることができ連想配列を取得するmysql_fetch_assoc()を使用する必要があります1つのループに1つずつ

1

各<TD>は別の列になります。私はあなたのようにそれをフォーマットすることをお勧めします。

while($mysql2 = mysql_fetch_assoc($sql2)) { 
    foreach($mysql2 as $row) { 
     echo "<tr>"; 
     echo "<td>".$row['logo']."</td><td>$".row['id']."</td><td>".$row['name']."</td>"; 
     echo "</tr>"; 
    } 
} 

はまた、あなたはそう、あなたがそれをリセットしている、あなたは$行[「キー」]

0

whileループの外で$x = 1をインスタンス化する必要があります。実行するたびに1にリセットします。剰余があまりにも良いかもしれません使用

if (($x % 3) == 0) { 
    echo "<tr>" 
} 

echo "<td><img src=images/productpics/$prodlogo></br><a href=viewproduct.php?pid=$prodid>$prodname</a></td>"; 

if (($x % 3) == 0) { 
    echo "</tr>" 
} 

あなたは1に$ xをリセットする心配する必要はありません...

関連する問題