我有页面显示来自数据库的图像,图像下面是每个图像的标签。 数据库表是: 图像
image_id
image_name
etc
标签
tag_id
tag_name
tags_images
tag_id
image_id
在我选择的图像下,像这样显示它们
<li>Tags: </li>';
$tags = $pdo->prepare("SELECT * FROM `images` p LEFT JOIN `tags_image` tp ON p.image_id = tp.image_id LEFT JOIN `tag` t ON tp.tags_id = t.tag_id WHERE p.image_id = ?");
$tags -> bindParam(1, $row['image_id'], PDO::PARAM_INT);
$tags -> execute();
foreach($tags as $tag) {
echo '<li><a href="tagsPreview.php?tag_id='.$tag['tag_id'].'">'.$tag['tag_name'].'</li>';
}
现在我想要当用户点击tagsPreview.php页面上的href链接来加载具有此标记的所有图像时。我试过的是
if(isset($_GET['tag_id']) && is_numeric($_GET['tag_id'])){
$tag_id = $_GET['tag_id']; {
$result = $pdo->prepare("SELECT * from `images` i
INNER JOIN `tags_image` ti ON i.image_id = ti.image_id
WHERE ti.tags_id = ? ASC LIMIT 20");
$result -> bindParam(1, $row['tag_id'], PDO::PARAM_INT);
$result -> execute();
foreach ($result as $row)
{
// images
}
问题是我得到没有图像的空白页面。
答案 0 :(得分:2)
替换它:
$result -> bindParam(1, $row['tag_id'], PDO::PARAM_INT);
与
$result -> bindParam(1, $tag_id, PDO::PARAM_INT);