2011-09-10 4 views
1

기본적으로 3 행에 코드를 표시하고 새 행을 만드는 스크립트가 있습니다. 그러나 모든 항목이 하나의 열에 표시됩니다. 여기에 코드가 있습니다.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

각 <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를 재설정에 대해 걱정할 필요가 없습니다 것입니다

관련 문제