• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

PHP Stronicowanie

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
804 wizyt
pytanie zadane 26 maja 2017 w PHP przez sobi94 Początkujący (270 p.)

Witam. Stworzyłem prosty skrypt, którywyświetla mi wyniki z bazy danych w formie tabeli i wyświetla je. Oto on:
 

 <?php 
  require_once "dbconnects.php";
  $polaczenie = @new mysqli($host, $user, $password, $database);
  $rezultat = @$polaczenie->query("SELECT * FROM sprzedawcy ");
  $ile_rekordow = $rezultat->num_rows;
  
  $i=0;
while ($i < $ile_rekordow) {

$wiersz = $rezultat->fetch_assoc();
  $_SESSION['id2'] = $wiersz['id'];
  $_SESSION['b'] = $wiersz['b'];
  $_SESSION['c'] = $wiersz['c'];
  $_SESSION['d'] = $wiersz['d'];
  $_SESSION['e'] = $wiersz['e'];
  $_SESSION['f'] = $wiersz['f'];
  $_SESSION['g'] = $wiersz['g'];
  $_SESSION['h'] = $wiersz['h'];
  $_SESSION['i'] = $wiersz['i'];
  $_SESSION['j'] = $wiersz['j'];
  $_SESSION['k'] = $wiersz['k'];
  $_SESSION['l'] = $wiersz['l'];

echo "<table border=5>".  
"<tr>"."<td>".$_SESSION['id2']."</td>"."<td>".$_SESSION['b']."</td>"."<td>".$_SESSION['c']."</td>"."<td>".$_SESSION['d']."</td>"."</td>"."<td>".$_SESSION['e']."</td>"."<td>"."</td>"."<td>".$_SESSION['f']."</td>"."<td>"."</td>"."<td>".$_SESSION['g']."</td>"."<td>"."</td>"."<td>".$_SESSION['h']."</td>"."<td>"."</td>"."<td>".$_SESSION['i']."</td>"."<td>"."</td>"."<td>".$_SESSION['j']."</td>"."<td>"."</td>"."<td>".$_SESSION['k']."</td>"."<td>"."</td>"."<td>".$_SESSION['l']."</td>"."<td>"."</tr>".
"<form action='skrypt.php' method='post'>"."<input type='hidden' name='x' value=".$_SESSION['l'].">"."<input type='hidden' name='xx' value=".$_SESSION['b'].">"."<input type='submit' value='Wyślij' class='btn btn-primary' role='button'>"."</form>".
"</table>";

$i++;
}
?>

Wiem, nie wygląda to estetycznie, ale na ten moment to nie jest ważne. Chcę by zrobić do tego stronicowanie z nawigacją.
Zliczyłem wyniki i zapisałem je:
 

$rezultat2 = @$polaczenie->query("SELECT COUNT(*) FROM sprzedawcy ");
$ilosc_wynikow = mysql_fetch_row($rezultat2);

Co mam zrobić dalej, by je wyświetlał np. po 5 na stronę i wytworzył nawigację?

1
komentarz 26 maja 2017 przez efiku Szeryf (75,160 p.)
1. Przestań kopiować z cudzych skryptów to się czegoś nauczysz.

Po co sobie ukrywasz błędy? Nie chwila... ty nawet nie wiesz po co użyłeś @ ;)

Przejdź na PDO i poczytaj jak za pomocą niego zrobić paginację.

"PDO pagination PHP" > 2013r.
komentarz 27 maja 2017 przez sobi94 Początkujący (270 p.)

Dzięki wielkie, wszystko działa, ale możesz mi wytłumaczyć, jak przesłać zmienne z pętli w klasie do zwykłego pliku php? Bo stworzenie formularza i wpisanie tych zmiennych nie zadziała. Chodzi mi o dokładnie o tę klasę:
 

<?php

class paginate
{
     private $db;
 
     function __construct($DB_con)
     {
         $this->db = $DB_con;
     }
 
     public function dataview($query)
     {
         $stmt = $this->db->prepare($query);
         $stmt->execute();
 
         if($stmt->rowCount()>0)
         {
                while($row=$stmt->fetch(PDO::FETCH_ASSOC))
                {
                   ?>
                   <tr>
                   <td><?php echo $row['tuts_id']; ?></td>
                   <td><?php echo $row['tuts_title']; ?></td>
                   <td><a href="<?php echo $row['tuts_link']; ?>">visit</a></td>
                   </tr>
                   <?php
                }
         }
         else
         {
                ?>
                <tr>
                <td>Nothing here...</td>
                </tr>
                <?php
         }
  
 }
 
 public function paging($query,$records_per_page)
 {
        $starting_position=0;
        if(isset($_GET["page_no"]))
        {
             $starting_position=($_GET["page_no"]-1)*$records_per_page;
        }
        $query2=$query." limit $starting_position,$records_per_page";
        return $query2;
 }
 
 public function paginglink($query,$records_per_page)
 {
  
        $self = $_SERVER['PHP_SELF'];
  
        $stmt = $this->db->prepare($query);
        $stmt->execute();
  
        $total_no_of_records = $stmt->rowCount();
  
        if($total_no_of_records > 0)
        {
            ?><tr><td colspan="3"><?php
            $total_no_of_pages=ceil($total_no_of_records/$records_per_page);
            $current_page=1;
            if(isset($_GET["page_no"]))
            {
               $current_page=$_GET["page_no"];
            }
            if($current_page!=1)
            {
               $previous =$current_page-1;
               echo "<a href='".$self."?page_no=1'>First</a>&nbsp;&nbsp;";
               echo "<a href='".$self."?page_no=".$previous."'>Previous</a>&nbsp;&nbsp;";
            }
            for($i=1;$i<=$total_no_of_pages;$i++)
            {
            if($i==$current_page)
            {
                echo "<strong><a href='".$self."?page_no=".$i."' style='color:red;text-decoration:none'>".$i."</a></strong>&nbsp;&nbsp;";
            }
            else
            {
                echo "<a href='".$self."?page_no=".$i."'>".$i."</a>&nbsp;&nbsp;";
            }
   }
   if($current_page!=$total_no_of_pages)
   {
        $next=$current_page+1;
        echo "<a href='".$self."?page_no=".$next."'>Next</a>&nbsp;&nbsp;";
        echo "<a href='".$self."?page_no=".$total_no_of_pages."'>Last</a>&nbsp;&nbsp;";
   }}}}
   ?></td></tr><?php

A dokładniej ten fragment: 
 

<td><?php echo $row['tuts_id']; ?></td>
                   <td><?php echo $row['tuts_title']; ?></td>
                   <td><a href="<?php echo $row['tuts_link']; ?>">visit</a></td>

Jak przesłać do pliku np. index2.php te zmienne(tuts_title i tuts_link) i je odczytać?

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 239 wizyt
pytanie zadane 17 lipca 2017 w PHP przez fred Nowicjusz (140 p.)
0 głosów
1 odpowiedź 156 wizyt
pytanie zadane 26 października 2016 w Sieci komputerowe, internet przez Badiusz Obywatel (1,070 p.)
–1 głos
1 odpowiedź 171 wizyt

93,182 zapytań

142,196 odpowiedzi

322,002 komentarzy

62,513 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 1889p. - dia-Chann
  2. 1864p. - Łukasz Piwowar
  3. 1847p. - CC PL
  4. 1843p. - Łukasz Eckert
  5. 1805p. - Tomasz Bielak
  6. 1785p. - Michal Drewniak
  7. 1777p. - Łukasz Siedlecki
  8. 1774p. - rucin93
  9. 1744p. - rafalszastok
  10. 1724p. - Adrian Wieprzkowicz
  11. 1684p. - Mikbac
  12. 1624p. - Anonim 3619784
  13. 1520p. - Marcin Putra
  14. 1368p. - ssynowiec
  15. 1258p. - Dawid128
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...