我一直在为博客创建一个简单的系统,但是在加入 2 个表后检索数据库时遇到了一些困难,如下所示:
表名:文章
- ID
- 类别ID
- 标题
- 信息
表名:类别
- ID
- 姓名
我想做什么:
- 加入上面 2 个表格中的信息。
- 在我的管理面板中检索它们以编辑/删除文章。
我的问题是什么: - 如果我使用以下方法加入表格:
$sql = "SELECT * FROM 文章在文章中加入类别。category_id = categories.id
我可以获得所有列,但似乎编辑和删除按钮正在识别类别 id 列,而不是文章 id 列。
我正在使用 foreach 来检索数据库,如下面的简历:
<thead> <tr> <th class="category">category</th> <th class="title">title</th> <th class="message">content</th> <th class="edit">edit</th> <th class="del">del</th> </tr> </thead> <?php foreach ($articles as $article): ?> <tbody> <tr> <td><?php echo h($article["name"]); ?></td> <td><?php echo h($article["title"]); ?></td> <td><?php echo h($article["message"]); ?></td> <td><a href="article_edit.php?id=<?php echo h($article["id"]); ?>"><img src="images/icn_edit.png" title="Edit"></a></td> <td><a href="article_delete.php?id=<?php echo h($article["id"]); ?>"><img src="images/icn_trash.png" title="Trash"></a></td> </tr> </tbody> <?php endforeach; ?>
如果我尝试使用下面的编码来区分文章 ID:
$sql = "SELECTarticles.id AS articleid, title, message, FROM items JOIN categories ON items.category_id = categories.id
$stmt = $pdo->query($sql);
$articles = $stmt->fetchAll() ;
并指定文章 id 链接如下:
<td><a href="article_edit.php?id=<?php echo h($article["articleid"]); ?>"><img src="images/icn_edit.png" title="Edit"></a></td> <td><a href="article_delete.php?id=<?php echo h($article["articleid"]); ?>"><img src="images/icn_trash.png" title="Trash"></a></td>
现在编辑和删除按钮链接到正确的“文章 id”,但无法再获取 categories.name 列行。
希望有人可以帮助我解决这个问题,并将非常感激。