我正在尝试在php中创建三个列,从每个图像下的数据库中显示图像,应该有图像的描述。该描述也是从数据库中检索的。我的代码现在适用于图像部分,它显示三个彼此相邻的图像,然后在新行中显示接下来的三个图像,依此类推。
但是我想要这样的东西:
图像图像图像
DESC DESC DESC
图像图像图像
DESC DESC DESC
当我取消注释第26行时
<br/>
( //echo "< td style='background-color:#FF0004'>" . $data. "</td>";)
<br/>
我得到了像这样的图像旁边的描述
图像DESC图像DESC图像DESC
图像DESC图像DESC图像DESC
我也尝试启动并创建新行&lt; TR&GT;&LT; TD&GT;&LT; / TR&GT;&LT; / TR&GT; 在第50行之后,当图像行被关闭并再次获取sql数据但只得到了desc但是当我这样做时我没有得到结果(我100%确定我的sql中有数据)。如何使描述位于图像上方而不是图像旁边
function getImg(){
$conn = connect();
if (!isset($_GET['startrow']) or !is_numeric($_GET['startrow'])) {
$startrow = 0;
} else {
$startrow = (int)$_GET['startrow'];
}
$sql = "SELECT * FROM draft LIMIT $startrow, 6";
$getdata = mysqli_query($conn,$sql)
or die(mysqli_error());
$cell_img = mysqli_num_rows($getdata);
$i=0;
$per_row = 3;
echo "<table><tr>";
while ($row=mysqli_fetch_assoc($getdata)) {
echo "<td><img src='".$row['image']."'/ ></td>";
$data = $row['desc'];
//echo "<td style='background-color:#FF0004'>" . $data. "</td>";
if (++$i % $per_row==0 && $i >0 && $i <$cell_img) {
echo "</tr><tr>";
}
}
echo "<tr>";
echo "</tr>";
for ($x=0; $x<$per_row-$i % $per_row; $x++) {
echo "<td></td>";
}
echo "</tr>";
echo "</table>";
echo '<a href="'.$_SERVER['PHP_SELF'].'?startrow='.($startrow+5).'">Next >>></a>';
$prev = $startrow - 5;
if ($prev >= 0)
echo '<a href="'.$_SERVER['PHP_SELF'].'?startrow='.$prev.'"> <<<< Previous</a>';
}
答案 0 :(得分:0)
使用此代码:
$data = '';
while ($row=mysqli_fetch_assoc($getdata)) {
echo "<td><img src='".$row['image']."'/ ></td>";
$data .= '<td>'.$row['desc'].'</td>';
if (++$i % $per_row==0 && $i >0 && $i <= $cell_img) {
echo "</tr><tr>$data</tr><tr>";
$data = '';
}
}