如何使用PHP对数据库中的图像进行分页?

如何使用PHP对数据库中的图像进行分页?,php,pagination,Php,Pagination,我有一个分页代码: <?php $db_username = 'root'; // Your MYSQL Username. $db_password = ''; // Your MYSQL Password. $db_name = 'database_name_here'; // Your Database name. $db_host = 'localhost'; $conDB = mysqli_conn

我有一个分页代码:

<?php
        $db_username = 'root'; // Your MYSQL Username.
        $db_password = ''; // Your MYSQL Password.
        $db_name = 'database_name_here'; // Your Database name.
        $db_host = 'localhost';

        $conDB = mysqli_connect($db_host, $db_username, $db_password,$db_name)or die('Error: Could not connect to database.');

        // Pagination Function
        function pagination($query,$per_page=10,$page=1,$url='?'){   
            global $conDB; 
            $query = "SELECT COUNT(*) as `num` FROM {$query}";
            $row = mysqli_fetch_array(mysqli_query($conDB,$query));
            $total = $row['num'];
            $adjacents = "2"; 

            $prevlabel = "&lsaquo; Prev";
            $nextlabel = "Next &rsaquo;";
            $lastlabel = "Last &rsaquo;&rsaquo;";

            $page = ($page == 0 ? 1 : $page);  
            $start = ($page - 1) * $per_page;                               

            $prev = $page - 1;                          
            $next = $page + 1;

            $lastpage = ceil($total/$per_page);

            $lpm1 = $lastpage - 1; // //last page minus 1

            $pagination = "";
            if($lastpage > 1){   
                $pagination .= "<ul class='pagination'>";
                $pagination .= "<li class='page_info'>Page {$page} of {$lastpage}</li>";

                    if ($page > 1) $pagination.= "<li><a href='{$url}page={$prev}'>{$prevlabel}</a></li>";

                if ($lastpage < 7 + ($adjacents * 2)){   
                    for ($counter = 1; $counter <= $lastpage; $counter++){
                        if ($counter == $page)
                            $pagination.= "<li><a class='current'>{$counter}</a></li>";
                        else
                            $pagination.= "<li><a href='{$url}page={$counter}'>{$counter}</a></li>";                    
                    }

                } elseif($lastpage > 5 + ($adjacents * 2)){

                    if($page < 1 + ($adjacents * 2)) {

                        for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++){
                            if ($counter == $page)
                                $pagination.= "<li><a class='current'>{$counter}</a></li>";
                            else
                                $pagination.= "<li><a href='{$url}page={$counter}'>{$counter}</a></li>";                    
                        }
                        $pagination.= "<li class='dot'>...</li>";
                        $pagination.= "<li><a href='{$url}page={$lpm1}'>{$lpm1}</a></li>";
                        $pagination.= "<li><a href='{$url}page={$lastpage}'>{$lastpage}</a></li>";  

                    } elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2)) {

                        $pagination.= "<li><a href='{$url}page=1'>1</a></li>";
                        $pagination.= "<li><a href='{$url}page=2'>2</a></li>";
                        $pagination.= "<li class='dot'>...</li>";
                        for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++) {
                            if ($counter == $page)
                                $pagination.= "<li><a class='current'>{$counter}</a></li>";
                            else
                                $pagination.= "<li><a href='{$url}page={$counter}'>{$counter}</a></li>";                    
                        }
                        $pagination.= "<li class='dot'>..</li>";
                        $pagination.= "<li><a href='{$url}page={$lpm1}'>{$lpm1}</a></li>";
                        $pagination.= "<li><a href='{$url}page={$lastpage}'>{$lastpage}</a></li>";      

                    } else {

                        $pagination.= "<li><a href='{$url}page=1'>1</a></li>";
                        $pagination.= "<li><a href='{$url}page=2'>2</a></li>";
                        $pagination.= "<li class='dot'>..</li>";
                        for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++) {
                            if ($counter == $page)
                                $pagination.= "<li><a class='current'>{$counter}</a></li>";
                            else
                                $pagination.= "<li><a href='{$url}page={$counter}'>{$counter}</a></li>";                    
                        }
                    }
                }

                    if ($page < $counter - 1) {
                        $pagination.= "<li><a href='{$url}page={$next}'>{$nextlabel}</a></li>";
                        $pagination.= "<li><a href='{$url}page=$lastpage'>{$lastlabel}</a></li>";
                    }

                $pagination.= "</ul>";        
            }

            return $pagination;
        }
        ?>
        <!DOCTYPE HTML>
        <html>
        <head>
        <meta charset="utf-8">
        <title>Pagination - OTallu.com</title>
        <style type="text/css">
        /* For this page only */
        body { font-family:Arial, Helvetica, sans-serif; font-size:13px; }
        .wrap { text-align:center; line-height:21px; padding:20px; }

        /* For pagination function. */
        ul.pagination {
            text-align:center;
            color:#829994;
        }
        ul.pagination li {
            display:inline;
            padding:0 3px;
        }
        ul.pagination a {
            color:#0d7963;
            display:inline-block;
            padding:5px 10px;
            border:1px solid #cde0dc;
            text-decoration:none;
        }
        ul.pagination a:hover,
        ul.pagination a.current {
            background:#0d7963;
            color:#fff;
        }
        </style>
        </head>
        <body>
        <div class="wrap">

        <?php
        $page = (int)(!isset($_GET["page"]) ? 1 : $_GET["page"]);
        if ($page <= 0) $page = 1;

        $per_page = 10; // Set how many records do you want to display per page.

        $startpoint = ($page * $per_page) - $per_page;

        $statement = "`records` ORDER BY `id` ASC"; // Change `records` according to your table name.

        $results = mysqli_query($conDB,"SELECT * FROM {$statement} LIMIT {$startpoint} , {$per_page}");

        if (mysqli_num_rows($results) != 0) {

            // displaying records.
            while ($row = mysqli_fetch_array($results)) {
                echo $row['name'] . '<br>';
            }

        } else {
             echo "No records are found.";
        }

         // displaying paginaiton.
        echo pagination($statement,$per_page,$page,$url='?');
        ?>
        </div><!-- .wrap -->
        </body>
        </html>

此分页代码的结果如下图所示:

但我希望它不仅在屏幕上显示数据库中的数据,而且将它们放在html img标记中,这样结果可以是每页10张简单的图片,而不仅仅是文本。看看我想要的最终结果(在photoshop中创建):


我是PHP新手,您的帮助将是无价的,谢谢。

问题在于
的这句话,而
循环,
echo$row['name']
'。您应该获取图像名称或完整的图像路径(该列中的任何内容),而不是名称。随后,您必须使用
来显示图像。因此,您的
while
循环有点像这样:

while ($row = mysqli_fetch_array($results)) {
    echo '<img src="/path/'.$row['ImgName'].'" alt="..." height="..." width="..." />';
}
while($row=mysqli\u fetch\u数组($results)){
回声';
}

那么任何输出“虚拟线”的东西都会输出一个
标记。非常感谢Rajdeep给出的答案和代码示例。信息技术worked@Ahmad.b1995不客气!很高兴我能帮忙。:-)