Veel data opsplitsen in pagina's?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pascal Schuffelers

Pascal Schuffelers

26/09/2018 19:52:22
Quote Anchor link
Ik heb 1 database met erg veel data.
Nu zie je op websites wel eens dat ze dat bv 10 regels per pagina tonen en dat dan tich pagina's te klikken zijn.
Waar kan ik zo een voorbeeld bekijken of hebben jullie zo een idee?
ps ik werk met pdo
Gewijzigd op 26/09/2018 20:02:13 door Pascal Schuffelers
 
PHP hulp

PHP hulp

19/04/2024 04:31:20
 
Rob Doemaarwat

Rob Doemaarwat

26/09/2018 20:06:47
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
$records_per_page = 10;
$page = (int)$_GET['page']; //0-based, dus 0 = pagina 1, enz
$offset = $page * $records_per_page;
$sql = "select * from tabel limit $offset,$records_per_page";
//en die dan weergeven
 
Pascal Schuffelers

Pascal Schuffelers

26/09/2018 20:13:48
Quote Anchor link
Ah, je was me al iets voor.
Ik had dit gevonden.:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
                       include 'database.php';
                       $results_per_page = 20; // number of results per page
                       $pdo = Database::connect();

                       if (isset($_GET["page"])) { $page  = $_GET["page"]; } else { $page=1; };
                       $start_from = ($page-1) * $results_per_page;

                       $sql = "SELECT * FROM metingen ORDER BY Id DESC LIMIT $start_from, ".$results_per_page;
                        foreach ($pdo->query($sql) as $row) {
                            echo '<tr>';
                            echo '<td>'. $row['Id'] . '</td>';
                            enz.....


Maar nu komt het, onder die 20 weergaves zouden de pagina's moeten komen.
Zij hebben dit als code.:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
$sql = "SELECT COUNT(ID) AS total FROM metingen";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
$total_pages = ceil($row["total"] / $results_per_page); // calculate total pages with results

for ($i=1; $i<=$total_pages; $i++) {  // print links for all pages
            echo "<a href='index_metingen.php?page=".$i."'";
            if ($i==$page)  echo " class='curPage'";
            echo ">".$i."</a> ";
};

Alleen dat stukje laat geen pagina's zien, ga er dan ook vanuit omdat het niet via pdo loopt, maar hoe dan wel?

update

reeds zelf gevonden door een beetje puzzelen en dit is nu werkend.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
$sql = "SELECT COUNT(Id) AS total FROM metingen";
  $q = $pdo->prepare($sql);
        $q->execute(array($Id));
        $data = $q->fetch(PDO::FETCH_ASSOC);
$total_pages = ceil($data["total"] / $results_per_page); // calculate total pages with results

for ($i=1; $i<=$total_pages; $i++) {  // print links for all pages
            echo "<a href='index_metingen.php?page=".$i."'";
            if ($i==$page)  echo " class='curPage'";
            echo ">".$i."</a> ";
};
Gewijzigd op 26/09/2018 20:29:19 door Pascal Schuffelers
 
Michael -

Michael -

26/09/2018 21:09:15
Quote Anchor link
Wat je zoekt heet pagination.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.