Autor Zpráva
Generation
Profil *
Dobrý den,

chtěl bych Vás poprosit o radu jak do následujícího scriptu přidat stránkování.
Nic složitého nechci, představu mám že se zobrazí na každé stránce 10 příspěvků.

Script:
              <?php

require "settings_2.php";

  
$query = "SELECT Contentgroup FROM `zahranicni` group by Contentgroup";
$result = mysql_query($query) or die(Mysql_error());
While($results=MySQL_Fetch_Assoc($result))
{    ?> 
<a href="/popis.php?interpret=<?php print $results['Contentgroup'] ?>"><?php print '<img alt="'.$results['Contentgroup'].'" width="200" src="/img/'.$results['Contentgroup'].'.png">'; ?></a> 

<?php } ?>  

Děkuji za každou radu
Zechy
Profil
Stačí si upravit MySQL
SELECT * FROM table LIMIT [kolik] OFFSET [od_kolikátého_začít]
Kde offest vypočítáš
$offset = $prispevku_na_stranku  * ($aktualni_stranka - 1)
Pro odkazy na stránky si zase vydělíš počet všech článků počtem článků na stránku, a aby to vždy vycházelo, tak to zaokrouhlíš přes ceil(), funkce výsledné číslo, když bude desetinné, zaokrouhlí vždy směrem nahoru. Jelikož při desetinném čísle může být třeba ještě článek/dva na další stránku.
Generation
Profil *
Zkusil jsem použít toto:
              <?php

require "settings_2.php";
 $radku = mysql_num_rows(mysql_query("SELECT Contentgroup FROM `zahranicni` group by Contentgroup"));
 $po = 15; /* počet řádků na stránku */
$max_stranek = ceil($radku / $po); /* počet stránek */
$url_stranka = ($_GET["stranka"] / $po) + 1; /* Aktuální stránka */

 if(empty($_GET["stranka"])) {$stranka = 0;} else {$stranka = $_GET["stranka"];}
 
$query = mysql_query("SELECT * FROM `zahranicni` group by Contentgroup LIMIT ".intval($stranka).",$po");
$result = mysql_query($query) or die(Mysql_error());
While($results=MySQL_Fetch_Assoc($result))  {
   ?> 
<a href="/popis.php?interpret=<?php print $results['Contentgroup'] ?>"><?php print '<img alt="'.$results['Contentgroup'].'" width="200" src="/img/'.$results['Contentgroup'].'.png">'; ?></a> 


<?php }
for($i=0; $i < $max_stranek; $i++) {
  $cislo = ($i + 1);
  $url_cislo  = ($cislo * $po) - $po;
  if($url_stranka != $cislo) {
    echo "<a href=\"?stranka=".$url_cislo."\">".($i + 1)."</a>\n";
  } else {
    echo "<strong>".($i + 1)."</strong>\n";
  }
}
 ?> 

Ovšem nevypíše mi to vůbec nic


EDIT:
Po menší úpravě už to běží
Alphard
Profil
Generation:
$radku = mysql_num_rows(mysql_query("SELECT Contentgroup FROM `zahranicni` group by Contentgroup"));
Velmi neefektivní, použijte count(*) přímo v dotaze.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: