所以基本上我有一个脚本,假设我的代码显示为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;
}
}
答案 0 :(得分:2)
将$ x移出循环,否则在每个循环中将其重置为1
答案 1 :(得分:1)
每个&lt; td&gt;将是一个单独的专栏。我建议你格式化它。
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>";
}
}
你还需要使用mysql_fetch_assoc()来获取你可以访问的关联数组,如$ row ['key']
答案 2 :(得分:0)
您可能需要在while循环之外实例化$x = 1
- 每次运行时都将其重置为1.
使用modulo可能也不错:
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>"
}
您无需担心将$ x重置为1 ...