【问题标题】:an issue with php pdo mysqlphp pdo mysql的问题
【发布时间】:2018-11-14 12:50:40
【问题描述】:

我想打印特定类别的最后一篇文章
你能帮我写代码吗?
我想放在$record 手册上,例如:我放在"design" 上,只显示设计类别 中的最后一个帖子。
还有一件事:表 blog 与表 record 是分开的。

谢谢

<?php $category = $record ['record']; { ?>
<?php foreach($db->query("select * from blog where category = '$category' order by id desc") as $row){ ?>
<li>
    <a href="<?php echo $row['image']; ?>">
        <div class="gallery-item"><img src="<?php echo $row['image']; ?>" alt="<?php echo $row['title']; ?>"></div>
    </a>
</li>
<?php } } ?>

【问题讨论】:

  • 现在有什么问题以及您的预期输出是什么?
  • 试试这个查询select * from blog where category = '$category' order by id desc LIMIT 1
  • 有人询问您现在得到的结果与预期结果相反。请问可以和cmets中的人互动吗?这样你就可以澄清你的问题。 @Ebi 你的问题不清楚。

标签: php mysql database pdo


【解决方案1】:

如果您想要最新的帖子,您可以更改您的 SQL 以选择它。 试试这样的:

select * from blog where category = '$category' order by {DATE_FIELD} desc limit 1

您需要将字符串 {DATE_FIELD} 与表中的实际日期字段进行交换。此选择将返回最新的数据集,并且仅返回那个。

编辑:如果日期未更改或更改的日期存储在另一个字段中,您也可以按您的 id 排序。

select * from blog where category = '$category' order by id desc limit 1

【讨论】:

  • 你能举例说明一下吗
  • 只需将您选择的返回值加载到这样的变量中: $postData = $db->query("select * from blog where category = '$category' order by id desc limit 1") .之后,您可以使用 $postData['FIELDNAME'] 访问所有信息。例如 $postData['image'] 或 $postData['title'] 等。
  • $postData['image'] 或 $postData['title'] 仅在此字段存在时才有效。我只是假设因为您提供的代码。如果您想知道哪些属性可用,请执行 var_dump
  • 我对这段代码有疑问 你说它正在工作的那个,我有一些关于我想要获得该记录的不同记录.. 例如 $postData = $db->query("select * from blog where category = '$category' order by id desc limit 1") 但是这段代码不起作用..
  • 在这一行:" $postData = $db->query("select * from blog where category = '$category ' order by id desc limit 1") " 你在 " $category = $record ['design']; { " 后面加上 "?>" amd 是一个错误的右括号。您需要删除右括号并在 php 语句的末尾移动“?>”,如下所示: query("select * from blog where category = '$category' order by id desc limit 1") ?>
猜你喜欢
  • 2014-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-16
  • 2014-01-20
  • 2019-11-07
相关资源
最近更新 更多