Autor Zpráva
vit
Profil *
ahoj takovimdle scriptem mam dany strankovani a nic to nedela:
  function strankovani($strana) {
        if(!$strana) { $strana = 1; }
        echo "\t<div class=\"stranky\">\n";
        $plus = $strana + 1;
        $minus = $strana - 1;
        if(($strana == 1) || (!$strana) || ($strana == 0)) {
                echo "\t\t<a href=\"novinky.php?strana=$plus\">star‘í &gt;&gt;</a>
        </div>\n";
        } else {
                echo "\t\t<a href=\"novinky.php?strana=$minus\">&lt;&lt; nověj‘í</a> <a href=\"novinky.php?strana=$plus\">star‘í &gt;&gt;</a>
        </div>\n";
        }
        strankovani($strana);
}
vit
Profil *
Nemam treba spatne nadefinovan
$strana
cesilek
Profil *
vit:
function strankovani ($strana=1) 

A budeš moct vynechat druhý řádek.

Z další podmínky můžeš klidně odstranit (!$strana) Protože to má stejný význam jako $strana==0 a stejně by se ti tam neměla žádná taková hodnota dostat, protže to ověřuješ již v předchozí podmínce.
cesilek
Profil *
A ještě tam máš závažnější chybu. Ty poslední složenou závorky dej ještě před řádek 13.
vit
Profil *
diky uz se zobrazuje starsi atd.,ale nevim jak tamnastavit ten limit protoze kdyz jsem skouselnastavit limit u mysql_query() tak jsem sice místo 4 mel na strance 3 ale kdyz jsem dal starsi tak se mi nic novyho neobjevilo, ale zustaly tam ty samy novinky. zde je kod:
<?php
  require "db.php";
  $Vyber=mysql_query("SELECT `datum`,`nazev`,`clanek`,`hit` FROM `clanky` ORDER BY id DESC LIMIT 4") or die(mysql_error());
   while ($Vypis = mysql_fetch_array($Vyber)) {
        echo "
          <h3>".$Vypis['datum']."</h3>
          <h2>".$Vypis['nazev']."</h2>
          <p>".$Vypis['clanek']."</p>
          ";
   }

  function strankovani($strana) {
        if(!$strana) { $strana = 1; }
        echo "\t<div class=\"stranky\">\n";
        $plus = $strana + 1;
        $minus = $strana - 1;
        if(($strana == 1) || ($strana == 0)) {
                echo "\t\t<a href=\"novinky.php?strana=$plus\">starší &gt;&gt;</a>
        </div>\n";
        } else {
                echo "\t\t<a href=\"novinky.php?strana=$minus\">&lt;&lt; novější</a> | <a href=\"novinky.php?strana=$plus\">star‘í &gt;&gt;</a>
        </div>\n";
        }
        }
        strankovani($strana); 
 ?>
cesilek
Profil *
Limit se nastavuje trochu jinak. Musíš napsat LIMIT "od řádku","výsledků". Pro tebe by to znamenalo LIMIT 0,4 pro první stránku. Na další stránku by jsi měl LIMIT 4,4 a dále 8,4 atd...
Do tvého kódu by to potom šlo napsat nějak takto:
  $Vyber=mysql_query("SELECT `datum`,`nazev`,`clanek`,`hit` FROM `clanky` ORDER BY id DESC LIMIT ".$_REQUEST["strana"].",4") or die(mysql_error());
cesilek
Profil *
Teď jsem udeslal blbost... Takhle by to mělo být
  $Vyber=mysql_query("SELECT `datum`,`nazev`,`clanek`,`hit` FROM `clanky` ORDER BY id DESC LIMIT ".($_REQUEST["strana"]*4)-4.",4") or die(mysql_error());
vit
Profil *
díky za ochotu, ale když jsemt tam vložil todle:
$Vyber=mysql_query("SELECT `datum`,`nazev`,`clanek`,`hit` FROM `clanky` ORDER BY id DESC LIMIT ".($_REQUEST["strana"]*4)-4.",4") or die(mysql_error());

baflo na mě todle:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/free/ic.cz/j/jan5ver/root/www/reg/novinky.php on line 13
cesilek
Profil
I když přejdeš na stránku /novinky.php?strana=1 ?
vit
Profil *
jo
tady je kdyžtak celej kod:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=windows-1250"> 
  <title>Novinky</title>
  <link rel="stylesheet" type="text/css" media="all" href="styl.css">  
 </head>
 <body>
 <div id="obsah"> 
  <div id="obsah2"> 
<?php
  require "db.php";
  $Vyber=mysql_query("SELECT `datum`,`nazev`,`clanek`,`hit` FROM `clanky` ORDER BY id DESC LIMIT ".($_REQUEST["strana"]*4)-4.",4") or die(mysql_error());
   while ($Vypis = mysql_fetch_array($Vyber)) {
        echo "
          <h3>".$Vypis['datum']."</h3>
          <h2>".$Vypis['nazev']."</h2>
          <p>".$Vypis['clanek']."</p>
          ";
   }
  function strankovani($strana) {
        if(!$strana) { $strana = 1; }
        echo "\t<div class=\"stranky\">\n";
        $plus = $strana + 1;
        $minus = $strana - 1;
        if(($strana == 1) || ($strana == 0)) {
                echo "\t\t<a href=\"novinky.php?strana=$plus\">starší &gt;&gt;</a>
        </div>\n";
        } else {
                echo "\t\t<a href=\"novinky.php?strana=$minus\">&lt;&lt; novější</a> | <a href=\"novinky.php?strana=$plus\">star‘í &gt;&gt;</a>
        </div>\n";
        }
        }
        strankovani($strana);    
 
 ?>

  
  </div>
 </div>
 </body>
</html>
cesilek
Profil
Řádek 13 budeš muset upravit takto:
  $Vyber=mysql_query("SELECT `datum`,`nazev`,`clanek`,`hit` FROM `clanky` ORDER BY id DESC LIMIT ".(($_REQUEST["strana"]*4)-4).",4") or die(mysql_error());

a řádek 34 si uprav na
strankovani($_REQUEST["strana"];
vit
Profil *
ted mi to hodilo
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-4,4' at line 1
cesilek
Profil
vit:
Protože jsi na nulté stránce, musíš přejít na stránku novinky.php?strana=1

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