我正在尝试从数据库中打印值。数据库包含图像URL。 我正在通过php检索图像URL并打印它。
我已经编写了这段代码。
码
<?php
if(! $conn )
{
die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT name,thumbnail,link FROM courses';
mysql_select_db($dbname);
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_assoc($retval))
{
echo "<tr>";
echo "<td><a href='".$row['link']."' title='Click to see schedule'><img src='".$row['thumbnail']."'></a></td>";
echo "</tr>";
}
mysql_close($conn);
?>
此代码正在重新搜索图像URL
并在桌面上显示图像。但我想每行3张图片,现在每行只打印1张图片。
我怎么能这样做?
答案 0 :(得分:2)
您需要将代码更改为仅每隔三个图像打开和关闭一行。试试这个:
$i = 0;
while($row = mysql_fetch_assoc($retval))
{
if($i == 0) {
echo "<tr>";
}
echo "<td><a href='".$row['link']."' title='Click to see schedule'><img src='".$row['thumbnail']."'></a></td>";
if(++$i == 3) {
echo "</tr>";
$i = 0;
}
}
// To close any open rows at the end
if($i % 3 > 0) {
echo "</tr>";
}
答案 1 :(得分:0)
$cc = 0;
//initially open table row
echo "<tr>";
while($row = mysql_fetch_assoc($retval))
{
$cc++;
echo sprintf(
'<td><a href="%s" title="Click to see schedule"><img src="%s"></a></td>',
$row['link'],
$row['thumbnail']
);
//close tablerow and open new one every 3 rows
if($cc % 3 == 0){
echo "</tr><tr>";
}
}
//close last table row
echo "</tr>";
答案 2 :(得分:0)
此代码连续打印3列数据。请尝试
$cols=3; $col=0;
$vars = "<table>";
$vars .= "<tr>";
while($row = mysql_fetch_assoc($retval)){
$col++;
$vars .= "<td>".$row['link']."</td>";
if($col==$cols){
$col=0;
$vars .= "</tr><tr>";
}
}
$vars = "</tr>";
$vars .= "</table>";
希望这有帮助。