我有一张桌子“shedules”,我总是保留两张唱片(我的节目以pdf格式保存)。
一个记录与第一年相关,所以我的记录如下:
(id,pdf,year) (1,.. / uploads / shedules / 1st_year.pdf,1st_year)
我的记录如下:
(id,pdf,year) (2,.. / uploads / shedules / 2nd_year.pdf,2nd_year)
我的毕业生每周都会更新,但可以在没有特定订单的情况下更新,可以先更新第一年或第二年的时间表。
在我的表格中,我更新了我的日程安排,我还有两个链接显示 每年的现行时间表。
我希望在我的链接上显示“查看第一年的日程安排”我的第一年的日程安排pdf,我想在我的链接上显示“查看日程安排第二年”我的日程表第二年的pdf。
你知道如果不做两次选择我怎么能这样做?我已经选择了两个,但现在我只想使用一个。
我正在尝试使用“按年份排序asc”,但不能正常工作,因为更新shedules的用户可以先插入我的第一年或第二年...
<?php
$readShedules = $pdo->prepare("SELECT pdf from schedules ORDER BY year ASC");
$readShedules->execute();
$result = $readShedules->fetch(PDO::FETCH_ASSOC);
echo '<div>';
echo '<a style="margin-right:10px;" href="../uploads/pdfs/'.$result['pdf'].'">See schedules 1st year</a>';
echo '<a href="../uploads/pdfs/'.$result['pdf'].'">See schedule 2nd year</a>';
echo '</div><!--viewcapa-->';
?>
答案 0 :(得分:2)
听起来你正在寻找从数据库中检索多行。如果是这种情况,我会指向PDO fetchAll
method,它会检索该查询的所有匹配项,而不是fetch
,而只检索第一个匹配项。
这些方面的东西:
$results = $readShedules->fetchAll(PDO::FETCH_ASSOC);
echo '<div>';
foreach( $results as $result ) {
echo '<a style="margin-right:10px;" href="../uploads/pdfs/'.$result['pdf'].'">See schedules '.$result['year'].'</a>';
}
echo '</div><!--viewcapa-->';
答案 1 :(得分:1)
您可以尝试使用此查询
SELECT DISTINCT year, pdf FROM [TableName] ORDER BY ID DESC
这将只返回2行。 PDF值将是最新更新。 这是因为每次更新都会在表格中生成新行。