【问题标题】:How to get the highest value from a database row?如何从数据库行中获取最高值?
【发布时间】:2016-03-31 12:30:36
【问题描述】:

我有问题。我有一个单页网站,如果发布了一条消息,则会显示一条帖子,并且在帖子下方需要一张图片,但在索引页面的最后一个我不希望显示图片。因此,如果数据库中的 id 是最高的,则帖子在其下方没有图像。

代码如下:

<?php
include 'functions/image/functions.php';

$countQuery = $db->prepare("SELECT paginaNummer AS max FROM pages ;");
$countRow = $countQuery->fetch();
$maxId = $countRow['max'];

$query = $db->prepare("SELECT * FROM pages");
$query->execute();

$num_cols = 1;
$i = 0;

$imgList = getImagesFromDir($root . $path);
$img = getRandomFromArray($imgList);


while($row = $query->fetch()) {
    if(isset($row)) {
        echo "<section data-stellar-background-ratio='0.5'>";
        echo "<div class='panelContainer'>";
        echo "<div class='panel2'>";
        echo "<div class='symbol3'></div>";
        echo "</div>";
        echo "</div>";
        echo "</div>";
        echo "</section>";
        echo "<section class='wrapper'>";
        echo "<div class='box'>";
        echo "<div class='content'>";
        echo $i++ % $num_cols == 0 ? '' : '';
        echo "<div id='message'><h2>&nbsp;&nbsp;", $row['berichtNaam'], "</h2>";
        echo $row['paginaContent'], "<br />";

        if (isset($_SESSION['login']['5']) && $_SESSION['login']['5'] == 2) {
            echo "&nbsp;<a class='edit' href='functions/admin/edit.php?id=" . $pageNumber . " '>Edit</a>";
            echo "&nbsp;<a class='delete' href='functions/admin/deletePost.php?id=" . $pageNumber . " '>Delete</a>";
        } elseif (isset($_SESSION['login']['5']) && $_SESSION['login']['5'] == 1) {
            echo "&nbsp;<a class='edit' href='functions/admin/edit.php?id=" . $pageNumber . " '>Edit</a>";
        } else {

        }
        echo "</div>";
        echo "</div>";
        echo "</section>";
        echo max($row);
        if (count($row['paginaNummer']) == max($row)){

        } else {
            echo "<a href='/'><img src='<?php echo $path . $img ?>'alt=''/></a>";
        }

        echo "</section>";

    }
}
echo "</div></div>";

?>

这部分我不会再深入了,希望你能帮我解决这个问题

【问题讨论】:

  • 代码的第四行已经回答了标题的问题(尽管我会添加一个LIMIT 1)。那么你的问题到底是什么?
  • 实际问题是我想在每个帖子下方显示一张图片,但如果没有任何帖子或只有一个帖子,则该图片不能显示
  • SELECT * FROM pages order by id desc
  • 你能解释一下吗,因为只有一行代码对我不起作用。
  • 您按valuedesc结束顺序对数据库进行排序(从最高开始,然后减少),然后简单地取第一个结果,Limit将您的输出设置为 1 个结果,这将是具有最高值的结果。下面的答案很好地说明了这一点。

标签: php database pdo


【解决方案1】:

很难理解你需要什么。但试试这个查询:

$countQuery = $db->prepare("SELECT paginaNummer AS max 
                            FROM pages ORDER BY paginaNummer DESC LIMIT 1");

或者可能是这样的:

$countQuery = $db->prepare("SELECT paginaNummer AS max 
                            FROM pages ORDER BY id DESC LIMIT 1");

更新:此代码更改而不是顶部:

<?php
include 'functions/image/functions.php';

$query = $db->prepare("SELECT * FROM pages");
$query->execute();
$maxrow = $query->rowCount();

$num_cols = 1;
$i = 0;

$imgList = getImagesFromDir($root . $path);
$img = getRandomFromArray($imgList);

$n = 0;
while($row = $query->fetch()) {
    if(isset($row)) {
       $n++;
        echo "<section data-stellar-background-ratio='0.5'>";
        echo "<div class='panelContainer'>";
        echo "<div class='panel2'>";
        echo "<div class='symbol3'></div>";
        echo "</div>";
        echo "</div>";
        echo "</div>";
        echo "</section>";
        echo "<section class='wrapper'>";
        echo "<div class='box'>";
        echo "<div class='content'>";
        echo $i++ % $num_cols == 0 ? '' : '';
        echo "<div id='message'><h2>&nbsp;&nbsp;", $row['berichtNaam'], "</h2>";
        echo $row['paginaContent'], "<br />";

        if (isset($_SESSION['login']['5']) && $_SESSION['login']['5'] == 2) {
            echo "&nbsp;<a class='edit' href='functions/admin/edit.php?id=" . $pageNumber . " '>Edit</a>";
           echo "&nbsp;<a class='delete' href='functions/admin/deletePost.php?id=" . $pageNumber . " '>Delete</a>";
        } elseif (isset($_SESSION['login']['5']) && $_SESSION['login']['5'] == 1) {
            echo "&nbsp;<a class='edit' href='functions/admin/edit.php?id=" . $pageNumber . " '>Edit</a>";
        } else {

        }
        echo "</div>";
        echo "</div>";
        echo "</section>";
        echo max($row);
        if ($n == $maxrow){

        } else {
            echo "<a href='/'><img src='<?php echo $path . $img ?>'alt=''/></a>";
        }

        echo "</section>";

    }
}
echo "</div></div>";

?>

【讨论】:

  • 你能发布“页面”数据库的结构吗?
  • paginaNummer int(11) A_I 主键,berichtNaam varchar(255),paginaContent 文本
  • 再次检查答案。可能是这个帮助。但是代码中有很多逻辑错误...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多