Autor Zpráva
Manny
Profil *
Ahojte. Má problém s includováním stránkovaného souboru. Různé obsahy webu se includují podle parametru do jedné kostry v indexu. Klasika. Jednu stranu ovšem potřebuji stránkovat, ale při pokusu o stránkování se mi zobrazí defaultní možnost v indexu. Kdysi se to tu už řešilo, ale nejsem z toho chytrý. Tuším, že problém bude s předávanými parametry, ale nejsem schopný to vymyslet (s php jsem začal před 14 dny). Pro představu ukázka kódu:
Index.php
<?php
$str = $_GET["str"];

		if ($str == "stranky" ) {include "stranky.php";}
		elseif ($str == "ruzne") {include "ruzne_1.php";}
		elseif ($str == "vzkaznik") {include "vzkaznik.php";}
		elseif ($str == "navody") {include "navody.php";}
		elseif ($str == "odkazy") {include "odkazy.php";}
		else {include "uvod.php";}
?>

a stranky.php
<?php
  define ("ROWS", 12);
 
$id_spojeni=mysql_connect('localhost','root','');
if (!$id_spojeni)
	die ('Spojení se nepovedlo!');

$vysledek=mysql_select_db('inverso',$id_spojeni);
if (!$vysledek)
	die ('Připojení k databázi se nepovedlo!');
	
  mysql_query("SET NAMES 'utf8'");
if (!isset($_GET["celkem"])) //pokud nevíme, kolik bude záznamů tak to zjistíme... 
  {
    $vysledek=mysql_query("select count(*) as pocet from komiksy");
    $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 komiksy ORDER BY poradi DESC"." limit ".($od-1).", ".ROWS);
        echo "Zobrazené komiksy: ".$od."-";
		echo (($od+ROWS-1)<=$celkem)?($od+ROWS-1):$celkem;
		echo " z celkem $celkem&nbsp;&nbsp;&nbsp;";
      //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"]."?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"]."?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 "Další&nbsp;|&nbsp;"; 
		else echo "<a href=\"".$_SERVER["PHP_SELF"]."?celkem=$celkem&amp;od=".($od+ROWS)."\">Další</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"]."?celkem=$celkem&amp;od=".($celkem-$celkem%ROWS+1)."\">Konec</a><BR>";
  }
  while ($zaznam=MySQL_Fetch_Array($vysledek)) 
  echo '<div class="polozky"><a href="komiksy/'.$zaznam["poradi"].'/komiks.php" target="_blank" ><img src="komiksy/'.$zaznam["poradi"].'/thumb.jpg"></a>'.'<h3>'.$zaznam["nazev"].'</h3><p>'.$zaznam["popis"].'</p></div>';
?>

Doufám, že jsem to napsal pochopitelně. Prosím, pomožte začátečníkovi!
nethor
Profil
No jasně, nefunguje, protože ve stránkovacích odkazech nepředáváš parametr $str (řádky 33 - 42).
Proto se poclicku dostaneš opět na default.
přidej si do odkazu
&amp;str=".$str."

např: (33)
 else echo "<a href=\"".$_SERVER["PHP_SELF"]."?celkem=$celkem&amp;od=1&amp;str=".$str."\">Začátek</a>&nbsp;|&nbsp;";

a bude to chodit.
Manny
Profil *
nethor:
Už to fakt běhá. Díky moc, to bych nevymyslel. Dík.

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: