Выберите и отобразите одно значение из SQL, используя PHP - PullRequest
0 голосов
/ 08 мая 2020

Считайте, что у нас есть база данных с множеством данных о людях. Я хочу отфильтровать этот результат по имеющимся данным. если структура таблицы следующая:

database sample

Как отображать результаты только от пользователя со страной «Индия». Это будет возможно при доступе к атрибутам объекта, но я хочу добавить эту функцию в следующий сценарий. Я не эксперт, и мне кажется, что этот сценарий настолько сложен для понимания.

Разбиение на страницы. php

<?php
namespace Phppot;

use Phppot\DataSource;

class Pagination
{

    private $ds;

    function __construct()
    {
        require_once __DIR__ . './../lib/DataSource.php';
        $this->ds = new DataSource();
    }

    public function getPage()
    {
        // adding limits to select query
        require_once __DIR__ . './../Common/Config.php';
        $limit = Config::LIMIT_PER_PAGE;

        // Look for a GET variable page if not found default is 1.
        if (isset($_GET["page"])) {
            $pn = $_GET["page"];
        } else {
            $pn = 1;
        }
        $startFrom = ($pn - 1) * $limit;

        $query = 'SELECT * FROM tbl_animal LIMIT ? , ?';
        $paramType = 'ii';
        $paramValue = array(
            $startFrom,
            $limit
        );
        $result = $this->ds->select($query, $paramType, $paramValue);
        return $result;
    }

    public function getAllRecords()
    {
        $query = 'SELECT * FROM tbl_animal';
        $totalRecords = $this->ds->getRecordCount($query);
        return $totalRecords;
    }
}
?>

Я просто хочу отфильтровать результат. Полная ссылка на скрипт https://phppot.com/php/how-to-add-pagination-in-php-with-mysql/ Если возможно, добавьте возможность фильтрации результата по имени животного (обычное имя), например «Лев».

Обновление, вот рабочий код

<?php
namespace Phppot;

use Phppot\DataSource;

class Pagination
{

    private $ds;

    function __construct()
    {
        require_once __DIR__ . './../lib/DataSource.php';
        $this->ds = new DataSource();
    }

    public function getPage()
    {
        // adding limits to select query
        require_once __DIR__ . './../Common/Config.php';
        $limit = Config::LIMIT_PER_PAGE;

        // Look for a GET variable page if not found default is 1.
        if (isset($_GET["page"])) {
            $pn = $_GET["page"];
        } else {
            $pn = 1;
        }
        $startFrom = ($pn - 1) * $limit;

        $query = 'SELECT * FROM tbl_animal WHERE common_name=Lion LIMIT ? , ?';
        $paramType = 'ii';
        $paramValue = array(
            $startFrom,
            $limit
        );
        $result = $this->ds->select($query, $paramType, $paramValue);
        return $result;
    }

    public function getAllRecords()
    {
        $query = 'SELECT * FROM tbl_animal WHERE common_name=Lion';
        $totalRecords = $this->ds->getRecordCount($query);
        return $totalRecords;
    }
}
?>

1 Ответ

0 голосов
/ 08 мая 2020

Найдено решение

<?php
namespace Phppot;

use Phppot\DataSource;

class Pagination
{

    private $ds;

    function __construct()
    {
        require_once __DIR__ . './../lib/DataSource.php';
        $this->ds = new DataSource();
    }

    public function getPage()
    {
        // adding limits to select query
        require_once __DIR__ . './../Common/Config.php';
        $limit = Config::LIMIT_PER_PAGE;

        // Look for a GET variable page if not found default is 1.
        if (isset($_GET["page"])) {
            $pn = $_GET["page"];
        } else {
            $pn = 1;
        }
        $startFrom = ($pn - 1) * $limit;

        $query = 'SELECT * FROM tbl_animal WHERE common_name=Lion LIMIT ? , ?';
        $paramType = 'ii';
        $paramValue = array(
            $startFrom,
            $limit
        );
        $result = $this->ds->select($query, $paramType, $paramValue);
        return $result;
    }

    public function getAllRecords()
    {
        $query = 'SELECT * FROM tbl_animal WHERE common_name=Lion';
        $totalRecords = $this->ds->getRecordCount($query);
        return $totalRecords;
    }
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...