Autor Zpráva
Martinse
Profil
Dobrej mam problem mam banlist a delam do nej strankovani teda spis se snazim a proste pokazde mi to budto neco ukaze a strankovani nejde a nebo ukaze vsechno tady kod jak to vypada ted budu rad za kazde rady ci kody co mi muzete poskytnout a ano hledal jsem na googlu

<?php

$result = mysql_query("SELECT * FROM banlist ORDER BY cas DESC LIMIT 10");

while($row = mysql_fetch_assoc($result))
{
     $cas = $row['cas'];

     echo('<tr>');
     echo('<td height="16" align="center" class="listtable_1">'.date('d.m. <b>H:i</b>', $cas).'</td>');
     echo('<td height="16" align="center" class="listtable_1"><B>'.$row['meno'].'</B></td>');
     echo('<td height="16" align="center" class="listtable_1">'.$row['ip'].'</td>');
     echo('<td height="12" align="center" class="listtable_1">'.$row['cas'].'</td>');
     echo('<td height="12" align="center" class="listtable_1">'.$row['duvod'].'</td>');
     echo('<td height="12" align="center" class="listtable_1">'.$row['admin'].'</td>');
     echo('</tr>');
}

?>
tiso
Profil
Pre stránkovanie potrebuješ 2 veci:
1. stránkovaný dopyt do databázy
2. odkazy na ďalšie stránky
S čím potrebuješ pomôcť?
lionel messi
Profil
Martinse:
ano hledal jsem na googlu

Tento návod programujte.com/clanek/2009110900-jednoduche-strankovani-v-php si skúšal? Mne aj ostatným ľuďom, ktorí postupovali podľa neho, funguje bezchybne…

Prípadne môžeš skúsiť toto: programujte.com/clanek/2006032803-strankovanie-v-php
Martinse
Profil
lionel messi:
neukazuje mi to nic

<table width="100%" cellspacing="0" cellpadding="0" align="center" class="listtable">

        <tbody><tr>
                        <td width="10%" height="16" class="listtable_top" align="center"><b>Datum:</b></td>
            <td width="20%" height="16" class="listtable_top" align="center"><b>Jméno:</b></td>
            <td width="12%" height="16" class="listtable_top" align="center"><b>IP:</b></td>
                        <td width="12%" height="16" class="listtable_top" align="center"><b>čas:</b></td>
                        <td width="18%" height="16" class="listtable_top" align="center"><b>Důvod:</b></td>  
                        <td width="14%" height="16" class="listtable_top" align="center"><b>Admin:</b></td>  



<?
//pripojenie na databazu
$dbServer = "**********";
$dbUser = "***********";
$dbPassword = "********";
$dbName = "********";
$link=mysql_pconnect ($dbServer,$dbUser,$dbPassword);
$db = mysql_select_db($dbName, $link);

//samotné stránkovanie 
$query="SELECT * FROM banlist ORDER BY id";
$result=mysql_query($query, $link);
$num=mysql_num_rows($result);
//$ctrl je pomocná premenná
if ($ctrl1<>1) 
{
    $strana=1;
}//endif
$limit=20;
$celkovy_pocet=$num;
$pocet_stran=ceil($celkovy_pocet/$limit);
$pociatok=($strana*$limit)-$limit;

for ($i=1; $i<=$pocet_stran; $i++)
{
    if ($i<>$strana) 
    {
        echo "<a href=\"zkouska.php?ctrl=1&strana=",$i,"\">",$i,"</a> | ";
    }
    else 
    {
        echo "<font color=\"#FF0000\">",$i,"</font> | ";
    }//endif
}//endfor

if ($strana<>$pocet_stran)
{
    echo "<a href=\"zkouska.php?ctrl=1&strana=",$strana+1,"\">nasledujúca strana</a>";
}//endif
echo "</p>";

$query="SELECT * FROM banlist ORDER BY id DESC LIMIT $pociatok, $limit";
$result=mysql_query($query, $link);
$num=mysql_num_rows($result);
while ($row=mysql_fetch_array($result))
{
     $datum = $row['datum'];
 
     echo('<tr>');
     echo('<td height="16" align="center" class="listtable_1">'.date('d.m. <b>H:i</b>', $datum).'</td>');
     echo('<td height="16" align="center" class="listtable_1"><B>'.$row['meno'].'</B></td>');
     echo('<td height="16" align="center" class="listtable_1">'.$row['ip'].'</td>');
     echo('<td height="12" align="center" class="listtable_1">'.$row['cas'].'</td>');
     echo('<td height="12" align="center" class="listtable_1">'.$row['duvod'].'</td>');
     echo('<td height="12" align="center" class="listtable_1">'.$row['admin'].'</td>');
     echo('</tr>');
}
mysql_free_result($result);
?>


        </tr>


            </tbody></table>
anonymníí
Profil *
Martinse:
neukazuje mi to nic
Co znamená to nic? Jestli bílou stránku, tak ta značí syntaktickou chybu v PHP, nech si vypsat chybové hlášky a chybu oprav.

Pokud vidíš záhlaví tabulky (mimochodem, místo <td><b> pro záhlaví existuje přímo <th>), máš chybu jinde. Začněme třeba nedefinovanou proměnnou $ctrl1 na řádku 27. Dále pak, pokud není splněna tato podmínka, neexistuje ani proměnná $strana. Podoobných základních chyb tam bude možná více.

Celý ten kód, ač je celkem krátký, je nepřehledný a moc se mi v něm nechce pátrat.
leorond
Profil
No upřímně pokud potřebuješ stránkování pro žebříček blokovaných účtů tak koukni na tento script. Neříkám že je to dokonalé a určitě to bude chtít úpravy ale funguje to 100%.

<?
  define ("ROWS", 5);
  if (!isset($_GET["celkem"])) //pokud nevíme, kolik bude záznamů tak to zjistíme... 
  {
    $vysledek=mysql_query("select count(*) as pocet from Novinky where rubrika = '2' order by id desc");
    $zaznam=mysql_fetch_array($vysledek);
    $celkem=$zaznam["pocet"];
  }
  else
  {
      $celkem=$_GET["celkem"];
  }
  if ($celkem>ROWS) 
  {
    if (!isset($_GET["od"])) $od=1; else $od=$_GET["od"]; 
    $vysledek=mysql_query("select * from Novinky where rubrika = '2' order by id desc"." limit ".($od-1).", ".ROWS);
  }
  else
  {
    if (!isset($_GET["od"])) $od=1; else $od=$_GET["od"]; 
    $vysledek=mysql_query("select * from Novinky where rubrika = '2' order by id desc"." limit ".($od-1).", ".ROWS);
  }
while ($zaznam=@MySQL_Fetch_Array($vysledek)) 
      echo ("<table id='novinky_tab'>
                <tr><td width='600'><a href='index.php?strana=foto/ukaz&amp;id=".$zaznam["id"]."'><img class='obrazek_novinky' src='admin/galerie/".mysql_real_escape_string($zaznam["obrazek"])."'></a></td></tr>
                <tr><td class='nadpis'><a href='index.php?strana=foto/ukaz&amp;id=".$zaznam["id"]."'>".mysql_real_escape_string($zaznam["nadpis"])."</a></td></tr>
                <tr><td class='text'>".mysql_real_escape_string(html_cut($zaznam["text"]))."</td></tr>
                <tr><td class='podpis_datum'>Autor: <b>".mysql_real_escape_string($zaznam["podpis"])."</b> Vloženo: ".date(" d.m.Y, H:i:s ", mysql_real_escape_string($zaznam["datum"]))."</td></tr>
            </table>");
    if ($celkem>ROWS)
        {
      //začátek - vytvoř odkaz pouze pokud nejsme na začátku
        if ($od==1) echo "Začátek&nbsp;|&nbsp;"; 
        else echo "<a href=\"".$_SERVER["PHP_SELF"]."?strana=foto/home&amp;celkem=$celkem&amp;od=1\">Začátek</a>&nbsp;|&nbsp;";
      //zpět - vytvoř odkaz pouze pokud nejsme v prvních ROWS
        if ($od<ROWS) echo "Předchozí&nbsp;|&nbsp;"; 
        else echo "<a href=\"".$_SERVER["PHP_SELF"]."?strana=foto/home&amp;celkem=$celkem&amp;od=".($od-ROWS)."\">Předchozí</a>&nbsp;|&nbsp;";
    //další - vytvoř, pouze pokud nejsme v posledních ROWS
        if ($od+ROWS>$celkem) echo "Následující&nbsp;|&nbsp;"; 
        else echo "<a href=\"".$_SERVER["PHP_SELF"]."?strana=foto/home&amp;celkem=$celkem&amp;od=".($od+ROWS)."\">Následující</a>&nbsp;|&nbsp;";
    //poslední - to je posledních (zbytek po dělení ROWS) záznamů
        if ($od>$celkem-ROWS) echo "Konec&nbsp;<BR>"; 
        else echo "<a href=\"".$_SERVER["PHP_SELF"]."?strana=foto/home&amp;celkem=$celkem&amp;od=".($celkem-$celkem%ROWS+0)."\">Konec</a><BR>";
        echo "Záznamů: ".$od."-";
        echo (($od+ROWS-1)<=$celkem)?($od+ROWS-1):$celkem;
        echo " z celkem $celkem&nbsp;&nbsp;&nbsp;";
        }
?>



Už je to hodně dlouho co jsem hledal něco podobného co potřebuješ ty a spáchal jsem toto. Dnes používám vlastní script který ale nebudu sdílet.
tiso
Profil
Skript od leorond je plný programátorských chýb, nečítať, nepoužívať!
leorond
Profil
tiso
Vím že není dokonalí, je už hodně starý a navíc je tam jasně napsáno koukni a ne použij. Já sám bych ho dnes nepoužil.
Martinse
Profil
anonymníí:
jedine co mi to ukaze nasledujúca strana a zacatek tabulky Datum: Jméno: IP: čas: Důvod: Admin:
Martinse
Profil
vyreseno timto scriptem www.linuxsoft.cz/article.php?id_article=345

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:

0