我只是注册Stack Overflow,我找了一个像这样的帖子,但我找到的是一组不同的帖子,但我还不够聪明(还有!)把它们放在一起回答我的问题。
我喜欢学习编程,在我完成在线课程或书籍之后,让我们说“真实”的例子。
正如您在我的链接中看到的那样,我想要实现的目标。最初我将所有数据放在一个表中,但我一直在这个网站上阅读,这不是最好的做法,只能在一个字段中存储用逗号分隔的图像路径。所以现在我有:
所以,我的问题是,我不知道我是如何加入表格并使用while循环来获取每个广告所需的图片数量,以后再使用这些图片灯箱画廊......
到目前为止,我每张广告只能放1张图片! :S我的第一张表的结构如下
| ID | HOUSE-TYPE | CITY |标题|描述| PICS | SQRMETER |价格| TELPHONE |电子邮件
我的第二张表的结构如下:
| ID |路径|标题| ALT |
到目前为止我的代码:
$result = mysqli_query($con,"SELECT * FROM t_test");
while($row = mysqli_fetch_array($result))
{
echo "<div class='ad'>" .
"<h2>" . "OFFER " . $row[offer] . $row[house-type] . " in " . $row[city] .
"</h2>" .
"<h1>" . $row[title] . "</h1>" .
"<p>" . $row[description] . "</p>" .
"<img src='" . $row[photo] . "'/>" .
"<p class='pics-per-ad'>" . "TOTAL PICS" . "</p>" .
"<p class='square-meters'>" . $row[sqmeter] . " metros 2" . "</p>" .
"<p class='price'>" . $row[price] . " Euros" . "</p>" .
"<p class='telephone'>" . $row[telphone] . "</p>" .
"<p class='email'>" . $row[email] . "</p>" .
"</div>";
}
mysqli_close($con);
感谢您的时间!
答案 0 :(得分:0)
每个广告都可以有多个图片,因此您需要在数据库中设置“一对多”关系。您可以使用外键来完成此操作。
“SELECT * FROM pics WHERE ads_ID = x”
答案 1 :(得分:0)
有许多解决方案可以帮助您实现目标。我建议保持这一点很简单,就是在你的pics表中添加另一个名为linked的列,这会将你的图片链接到你的广告。
请尝试按以下步骤操作。
在pic表格中创建一个名为“已链接”的列
ALTER TABLE ads ADD linked VARCHAR(255)
在您的pics表和广告表之间创建外键关系。 (例如,如果您的广告被删除或更新,它也会从图片表中删除您的图片)
在您的代码中通过执行此类操作来加入您的表。
$query = '
SELECT ads.*, pics.* FROM ads
LEFT JOIN pics ON pics.linked = ads.id
';
$result = mysqli_query($con,$query);