PHP - broj rezultata na stranici

poruka: 12
|
čitano: 2.053
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
16 godina
neaktivan
offline
PHP - broj rezultata na stranici

Ovako, radim CMS u PHP-u i MySQL-u i napravio sam stranicu na  kojoj se dodaju vijesti u bazu podataka(ona se zove dodaj.php) i  index.php na kojoj se prikazuju vijesti iz baze podataka. Na index.php se prikazuju sve vijesti iz baze podataka  a ja bih želio da se po stranici prikazuje određen broj vijesti, npr. 10. Tražio sam po googleu ali nisam nista nasao osim tutorijala za pagnaciju i mislim da mi i oni trebaju za to. Pa ako neko može pomoci evo kako sam uradio index.php:

<?php include("header.php");?>
<link rel="stylesheet" href="styles/style.css" type="text/css" />
<body>
<div id="backgroundtop"></div>

<div id="backgroundcenter">
<?php


include("admin/config.php");

        $result = mysql_query("SELECT * FROM vijesti ORDER BY id DESC",$connect);

       
       
        while($myrow = mysql_fetch_assoc($result))

             {
               echo "<div class='vijestibk'>";
             
               echo "<div class='vijestinaslov'>";
               echo "<a href=\"vise.php?id=$myrow[id]\">";
               echo $myrow['naslov'];
               echo "</a>";
               echo "</div>";

               echo "<div class='vijestidatum'>";
               echo $myrow['dtime'];
               echo "</div>";
               echo "<div class='vijest'>";
               echo $myrow['uvod'];
               echo "</div>";
              
               echo "<div class='vise'>";

               echo "<a href=\"vise.php?idvijesti=$myrow[idvijesti]\">Više...</a>";
               echo "</div>";
               echo "</div>";
               echo "<br />";


             }

?>
</div>

<div id="backgroundfoot"></div>
</body>
<?php include("footer.php"); ?>

k1.c0
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
PHP - broj rezultata na stranici

Zna li itko kako to napraviti, da bude prikazano 10 rezultata po stranici

k1.c0
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
PHP - broj rezultata na stranici

 

 

  • SELECT * FROM vijesti ORDER BY id DESC Limit 0,10;

 

 

Međutim moraš razviti sustav mijenjanja limita po stranici.

 

Neka je onda:

 

 

  • $pg = $_get['pg'];
  • if(int_val($pg)<1)
  • $pg=1;
  • $limit = 10;
  • $d_limit = ($pg-1)*$limit;
  • $u_limit = ($pg)*$limit;

  • $sql = "SELECT * FROM vijesti Limit $d_limit,$u_limit ORDER BY id DESC";

Ako nešto ne valja reci jer sam napamet radio.

 

Poruka je uređivana zadnji put pon 2.11.2009 19:47 (Xanzzu).
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
RE: PHP - broj rezultata na stranici
Xanzzu kaže...
  • $u_limit = ($pg)*$limit;

 

 

Ovo ti ne valja. Drugi broj u limitu ne kaže do kojeg zapisa ograničiti čitanje, nego koliko ih ukupno treba pročitati. Dakle $u_limit = $limit;

16 godina
neaktivan
offline
PHP - broj rezultata na stranici

Hvala na pomoći još to nisam probao ali čim budem napisat cu ti je lito dobro ili ne.

k1.c0
Moj PC  
0 0 hvala 0
17 godina
neaktivan
offline
PHP - broj rezultata na stranici

Nisam baš previše iskusan s ovim; ali učim :-). Zanima me zašto ograničiti iščitavanje?

Zar ih nebi trebalo pročitati sve, spremiti u neku varijablu tipa niz array, prebrojiti, i ako ih ima više od n 

prikazati prvih 5 i link za sljedeću starnaicu gdje će biti idućih 5 itd...

 

 

vatrom
 
0 0 hvala 0
16 godina
neaktivan
offline
RE: PHP - broj rezultata na stranici

 mislim da  mi je trebalo baš ovo što mi je xannzzu napisao i još samo napravi  paginaciju ima hrpa tutorijala za nju

k1.c0
16 godina
neaktivan
offline
PHP - broj rezultata na stranici

@Xanzzu

 

sada sam probao ubaciti ovaj tvoj prijedlog unutar koda ali javlja grešku u ovoj liniji:

 

if(int_val($pg)<1)

 


koju sam ja zapisao ovako:

 

$pg = $_GET['pg'];
        if (int_val($pg)<1) {
            $pg = 1;
            $limit = 10;
            $d_limit = ($pg-1) * $limt;
            $u_limit = ($pg)* $limit;
            $sql = "SELECT * FROM vijesti ORDER BY id DESC";
            
        }

k1.c0
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
RE: PHP - broj rezultata na stranici
vatrom kaže...

Nisam baš previše iskusan s ovim; ali učim :-). Zanima me zašto ograničiti iščitavanje?

Zar ih nebi trebalo pročitati sve, spremiti u neku varijablu tipa niz array, prebrojiti, i ako ih ima više od n 

prikazati prvih 5 i link za sljedeću starnaicu gdje će biti idućih 5 itd...

 

 

Zapravo ovdje se ograničava učitavanje iz baze. Mogao bi također učitati sve podatke iz baze, pa naknadno ograničiti ispisivanje, ali zašto stavljati dodatni teret server? Ovo je efikasnije. Dakle ovdje učitavamo maksimalno 10 podataka iz baze i njih ispisujemo.

k1c0 kaže...

@Xanzzu

 

sada sam probao ubaciti ovaj tvoj prijedlog unutar koda ali javlja grešku u ovoj liniji:

 

if(int_val($pg)<1)

 


koju sam ja zapisao ovako:

 

$pg = $_GET['pg'];
        if (int_val($pg)<1) {
            $pg = 1;
            $limit = 10;
            $d_limit = ($pg-1) * $limt;
            $u_limit = ($pg)* $limit;
            $sql = "SELECT * FROM vijesti ORDER BY id DESC";
            
        }

Krivo si napisao {} ti ne treba kada je u uvjetu 1 linija dakle

if()

//linija

jednako je s

if(){

//linija

}

ali samo kada imaš jednu liniju!

$pg=1; je jedina linija unutar uvijeta!

Zatim nije int_val() nego intval() i nije $limt nego $limit.

Poruka je uređivana zadnji put pon 2.11.2009 22:13 (Xanzzu).
15 godina
neaktivan
offline
RE: PHP - broj rezultata na stranici
pedo bear kaže...
Xanzzu kaže...
  • $u_limit = ($pg)*$limit;

 

 

Ovo ti ne valja. Drugi broj u limitu ne kaže do kojeg zapisa ograničiti čitanje, nego koliko ih ukupno treba pročitati. Dakle $u_limit = $limit;

Hvala pedo bear.Eto i to popravi i trebalo bi raditi.

16 godina
neaktivan
offline
RE: PHP - broj rezultata na stranici

riješio sam problem našao sam neki tutorijal o broju  rezultata po stranici.. hvala vam na trudu Cool

k1.c0
15 godina
neaktivan
offline
RE: PHP - broj rezultata na stranici
vatrom kaže...

Nisam baš previše iskusan s ovim; ali učim :-). Zanima me zašto ograničiti iščitavanje?

Zar ih nebi trebalo pročitati sve, spremiti u neku varijablu tipa niz array, prebrojiti, i ako ih ima više od n 

prikazati prvih 5 i link za sljedeću starnaicu gdje će biti idućih 5 itd...

 

 

 

Zato što je brže ako ograničiš broj zapisa koji će baza vratiti stranici, iako se ta brzina vidi tek kod većeg broja zapisa. No, recimo ako bi večernji.hr radio na način koji si ti upisao, onda bi se stranica osjetno usporila.

1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice