Autor Zpráva
david80
Profil *
Našel jsem tady snad tisíc návodů, ale stejně to nějak nemůžu dát dohromady.
Mám tento kod který bych potřeboval stránkovat - <?php

function connect()
{
include "configs/script_config.php";
}



$vysledek = "select odkaz from venku order by id desc limit 20;";
connect();
$link = mysql_query($vysledek);

while ( $row=mysql_fetch_row($link) )
{
$FORM .= "

<td class='Stil5'>$row[0]</td>

";
}

mysql_close();

echo $FORM;

?>

Tak jsem si tady našel tento kod ale nic se mi nezobrazí - <?php

function connect()
{
include "configs/script_config.php";
}


$zaznamu_na_stranku = 10;
$sql_strankovani = "select odkaz from venku";
$query_strankovani = mysql_query($sql_strankovani);
$pocet = mysql_num_rows($query_strankovani);
$max_stranka = ceil($pocet/$zaznamu_na_stranku) + 1;
for($i=1; $i < $max_stranka; $i++) {
if(!$stranka) {
$stranka = 1;
}
if($i == $stranka) {
echo "<b>$i</b>";
} else {
echo '<a href="'.$PHP_SELF.'?stranka='.$i.'">'.$i.'</a>';
}
}
//nacteni z db
$zacatek = $stranka * $zaznamu_na_stranku - $zaznamu_na_stranku;
$sql = "select * from prikazy limit ".$zacatek.",".$zaznamu_na_stranku;
$query = mysql_query($sql);
while($zaznam = mysql_fetch_array($query)) {
echo '
<tr>
<td>
<b>'.$zaznam["id"].'</b>
</td>
<td>'.
$zaznam["typ"].'
</td>
<td>'.
$zaznam["prikaz"].'
</td>
<td>'.
$zaznam["popis"].'
</td>
</tr>
';
};

?>

Mohl by mi s tím někdo pomoct? Nebo nějak upravit tyto kódy, aby mi to stránkovalo prosím? Už to zkouším podle různých návodů od rána, ale pořát bez výsledku.
SwimX
Profil
david80:
Vkládej kódy mezi značky PRE stačí kliknout na

Jinak stránkování:
používám todle, myslím že je to dost jednoduché i jasné.

<?php
// zjistime jestli nekde jsme, jinak první strana

if(isset($_GET['strana'])){ // čtvrtá GET proměnná za lomítkem strana-x
  $strana = is_numeric($_GET['strana'])?$_GET['strana']:1;
}
else $strana = 1;

// zjistíme počet záznamů v tabulce
$celkem_radek = mysql_result(mysql_query("SELECT COUNT(*) from diskuze "), 0);

if ($celkem_radek>0) { // pokud nějaké jsou -> nezbytné výpočty, mysql dotaz, stránkování, jinak nic
  $pocet = 6; // počet řádek na stánku
  $od = ($strana-1) * $pocet;
  $limit = "limit $od, $pocet";
  
    $cl=mysql_query("SELECT * FROM diskuze $limit;");
  
    strankovani($pocet, 5, "?strana=",  $strana, $celkem_radek);
}

function strankovani($pocet_radek, $okolo, $url, $strana, $celkem_radek){
  if ($celkem_radek<=$pocet_radek) return;
  echo "<p class='pages'>";
  if ($strana == 1) {
    echo "Začátek&nbsp;|&nbsp;";
    echo "Předchozí&nbsp;|&nbsp;";
  }
  else {
    echo "<a href=\"".$url."1\">Začátek</a>&nbsp;|&nbsp;";
    echo "<a href=\"".$url."".($strana-1)."\">Předchozí</a>&nbsp;|&nbsp;";
  }

    if($strana - $okolo > 1) echo "...&nbsp;|&nbsp;";

  for($i = $okolo; $i > 0; $i--){
    if(($strana-$i)>0) echo "<a href=\"".($url).($strana-$i)."\">".($strana-$i)."</a>&nbsp;|&nbsp;";;
  }

  echo $strana."&nbsp;|&nbsp;";
  
    $posledni_strana = ceil($celkem_radek/$pocet_radek);

  for($i = 1; $i <= $okolo; $i++){
    if(($strana+$i)<=$posledni_strana) echo "<a href=\"".($url).($strana+$i)."\">".($strana+$i)."</a>&nbsp;|&nbsp;";
  }
    
    if($strana + $okolo < $posledni_strana) echo "...&nbsp;|&nbsp;";
    
  if ($posledni_strana == $strana) {
    echo "Následující&nbsp;|&nbsp;";
    echo "Konec";
  }
  else {
    echo "<a href=\"".$url.($strana+1)."\">Následující</a>&nbsp;|&nbsp;";
    echo "<a href=\"".$url.$posledni_strana."\">Konec</a>";
  }
  echo "</p>";
}
?>
david80
Profil *
Toto jsem tady taky našel, zkusil jsem to tedy znovu, ale objeví se mi jen prázdná stránka, už fakt nevím co s tím. Přitom ten první kod, co jsem sem dával bezproblémů funguje, ale tohle už ne

<?php 

function connect() 
{ 
include "configs/script_config.php";
}


// zjistime jestli nekde jsme, jinak první strana

if(isset($_GET['strana'])){ // čtvrtá GET proměnná za lomítkem strana-x
  $strana = is_numeric($_GET['strana'])?$_GET['strana']:1;
}
else $strana = 1;

// zjistíme počet záznamů v tabulce
$celkem_radek = mysql_result(mysql_query("SELECT COUNT(odkaz) from venku "), 0);

if ($celkem_radek>0) { // pokud nějaké jsou -> nezbytné výpočty, mysql dotaz, stránkování, jinak nic
  $pocet = 6; // počet řádek na stánku
  $od = ($strana-1) * $pocet;
  $limit = "limit $od, $pocet";
  
    $cl=mysql_query("SELECT odkaz FROM venku order by id desc $limit;");
  
    strankovani($pocet, 5, "?strana=",  $strana, $celkem_radek);
}

function strankovani($pocet_radek, $okolo, $url, $strana, $celkem_radek){
  if ($celkem_radek<=$pocet_radek) return;
  echo "<p class='pages'>";
  if ($strana == 1) {
    echo "Začátek&nbsp;|&nbsp;";
    echo "Předchozí&nbsp;|&nbsp;";
  }
  else {
    echo "<a href=\"".$url."1\">Začátek</a>&nbsp;|&nbsp;";
    echo "<a href=\"".$url."".($strana-1)."\">Předchozí</a>&nbsp;|&nbsp;";
  }

    if($strana - $okolo > 1) echo "...&nbsp;|&nbsp;";

  for($i = $okolo; $i > 0; $i--){
    if(($strana-$i)>0) echo "<a href=\"".($url).($strana-$i)."\">".($strana-$i)."</a>&nbsp;|&nbsp;";;
  }

  echo $strana."&nbsp;|&nbsp;";
  
    $posledni_strana = ceil($celkem_radek/$pocet_radek);

  for($i = 1; $i <= $okolo; $i++){
    if(($strana+$i)<=$posledni_strana) echo "<a href=\"".($url).($strana+$i)."\">".($strana+$i)."</a>&nbsp;|&nbsp;";
  }
    
    if($strana + $okolo < $posledni_strana) echo "...&nbsp;|&nbsp;";
    
  if ($posledni_strana == $strana) {
    echo "Následující&nbsp;|&nbsp;";
    echo "Konec";
  }
  else {
    echo "<a href=\"".$url.($strana+1)."\">Následující</a>&nbsp;|&nbsp;";
    echo "<a href=\"".$url.$posledni_strana."\">Konec</a>";
  }
  echo "</p>";
}
?>
SwimX
Profil
david80:
ale objeví se mi jen prázdná stránka
a kde máš výpis článků? :)
SwimX
Profil
Přidej sem:
if ($celkem_radek>0) { // pokud nějaké jsou -> nezbytné výpočty, mysql dotaz, stránkování, jinak nic
  $pocet = 6; // počet řádek na stánku
  $od = ($strana-1) * $pocet;
  $limit = "limit $od, $pocet";
  
    $cl=mysql_query("SELECT odkaz FROM venku order by id desc $limit;");
/* ******************************* */  
while ( $row=mysql_fetch_row($cl) ) 
{ 
$FORM .= " 

<td class='Stil5'>$row[0]</td> 

"; 
} 

echo $FORM;

/* ***************************** */

    strankovani($pocet, 5, "?strana=",  $strana, $celkem_radek);
}
david80
Profil *
I tak se mi objeví jen prázdná stránka, nemůže tam být někde chyba?
SwimX
Profil
david80:
zřejmě bude, jak to teď vypadá, ukaž.
david80
Profil *
Koukni prosím i jestli jsem správně vyplnil tabulku v db a sloupec, jestli je to všude kde to má být. Snažím se z tabulky "venku" vytáhnout data ze sloupce "odkaz" srovnané podle "id" a to od největšího po nejmenší. Díky



<?php 

function connect() 
{ 
include "configs/script_config.php";
}




if(isset($_GET['strana'])){ // čtvrtá GET proměnná za lomítkem strana-x
  $strana = is_numeric($_GET['strana'])?$_GET['strana']:1;
}
else $strana = 1;

// zjistíme počet záznamů v tabulce
$celkem_radek = mysql_result(mysql_query("SELECT COUNT(odkaz) from venku "), 0);

if ($celkem_radek>0) { // pokud nějaké jsou -> nezbytné výpočty, mysql dotaz, stránkování, jinak nic
  $pocet = 6; // počet řádek na stánku
  $od = ($strana-1) * $pocet;
  $limit = "limit $od, $pocet";
  
    $cl=mysql_query("SELECT odkaz FROM venku order by id desc $limit;");
  


while ( $row=mysql_fetch_row($cl) ) 
{ 
$FORM .= " 

<td class='Stil5'>$row[0]</td> 

"; 
} 

echo $FORM;



    strankovani($pocet, 5, "?strana=",  $strana, $celkem_radek);
}

function strankovani($pocet_radek, $okolo, $url, $strana, $celkem_radek){
  if ($celkem_radek<=$pocet_radek) return;
  echo "<p class='pages'>";
  if ($strana == 1) {
    echo "Začátek&nbsp;|&nbsp;";
    echo "Předchozí&nbsp;|&nbsp;";
  }
  else {
    echo "<a href=\"".$url."1\">Začátek</a>&nbsp;|&nbsp;";
    echo "<a href=\"".$url."".($strana-1)."\">Předchozí</a>&nbsp;|&nbsp;";
  }

    if($strana - $okolo > 1) echo "...&nbsp;|&nbsp;";

  for($i = $okolo; $i > 0; $i--){
    if(($strana-$i)>0) echo "<a href=\"".($url).($strana-$i)."\">".($strana-$i)."</a>&nbsp;|&nbsp;";;
  }

  echo $strana."&nbsp;|&nbsp;";
  
    $posledni_strana = ceil($celkem_radek/$pocet_radek);

  for($i = 1; $i <= $okolo; $i++){
    if(($strana+$i)<=$posledni_strana) echo "<a href=\"".($url).($strana+$i)."\">".($strana+$i)."</a>&nbsp;|&nbsp;";
  }
    
    if($strana + $okolo < $posledni_strana) echo "...&nbsp;|&nbsp;";
    
  if ($posledni_strana == $strana) {
    echo "Následující&nbsp;|&nbsp;";
    echo "Konec";
  }
  else {
    echo "<a href=\"".$url.($strana+1)."\">Následující</a>&nbsp;|&nbsp;";
    echo "<a href=\"".$url.$posledni_strana."\">Konec</a>";
  }
  echo "</p>";
}
?>
SwimX
Profil
david80:
todle vypadá dobře. Pokud existují nějaké záznamy v tabulce tak nevidím důvod aby se to nevypsalo :)
david80
Profil *
Záznamy tam jsou, ten první kod co jsem sem dal, tak data zobrazuje, ale tenhle už ne.
SwimX
Profil
david80:
dej na řádek 23 echo $limit; a za dotaz na řádek 25 echo mysql_error(); Co to vypíše?
fajzen
Profil
david80:
nikde nevidím, že by si tú funkciu connect() aj volal
david80
Profil *
Ted jsem na to zrovna koukal, poradil by jsi kam všude funkci connect() připsat? Budu to zkoušet vymyslet sám, ale jsem v tom začátečník takže to může být zase klidně na půl dne :-)
panther
Profil
david80:
poradil by jsi kam všude funkci connect() připsat?
jednou a to hned na začátek scriptu. Vícekrát se k DB připojovat nemusíš.
david80
Profil *
Děkuju všem za rady, už to jede :-)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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