Autor Zpráva
matlala
Profil
Ahoj mám problém potřebuju stránkovat fotogalerii cca po 9 fotkách na stránku ale nevím jak to udělat prosím poraďte
data vypisuju z DB
struktura tabulky je:
id,kat,fotka,datum,popis,width,height,odkaz

a kod vypisu je :
if(isset($_GET['kat']))
{
$kat=(int)$_GET['kat'];
mysql_query("SET NAMES 'cp1250';");
$vysledek=mysql_query("SELECT * FROM akva_galerie WHERE id='$id' AND kat='$kat' order by datum DESC LIMIT 10000000");
if ($kat == 1) $fotogalerie = "V průběhu času";
elseif ($kat == 2) $fotogalerie = "Rostliny";
elseif ($kat == 3) $fotogalerie = "Technika a podobně";
elseif ($kat == 4) $fotogalerie = "Živočichové";
mysql_query("SET NAMES 'cp1250';");
echo"<div style=\"text-align: center;\"><h1>Fotogalerie - ".$fotogalerie."</h1><br><br><br><!--[if IE]><br><![endif]--><ul class=\"galerie\">";
mysql_query("SET NAMES 'cp1250';");
$vysledek=mysql_query("SELECT * FROM akva_galerie WHERE id='$id' AND kat='$kat' order by datum DESC LIMIT 10000000");
while ($zaznam=MySQL_Fetch_Array($vysledek))
{
include ("include/uprava_data.php");
if ($zaznam["popis"] == true and $zaznam["datum"] == true and $kat == 1) {echo '<li><div><a href="'.$zaznam["odkaz"].'" class="thickbox" rel="AQUAgarden.ic.cz" title="'.$nove_datum.' - '.$zaznam["popis"].'"><span class="wrimg"><span></span><img alt="'.$nove_datum.' - '.$zaznam["popis"].'" src="'.$zaznam["fotka"].'" width="'.$zaznam["width"].'" height="'.$zaznam["height"].'" alt="'.$nove_datum.' - '.$zaznam["popis"].'" title="'.$nove_datum.' - '.$zaznam["popis"].'"/></span><span class="caption">'.$nove_datum.' - '.$zaznam["popis"].'</span></a></div></li>';}
elseif ($zaznam["popis"] == true and $zaznam["datum"] == true) {echo '<li><div><a href="'.$zaznam["odkaz"].'" class="thickbox" rel="AQUAgarden.ic.cz" title="'.$nove_datum.' - '.$zaznam["popis"].'"><span class="wrimg"><span></span><img alt="'.$nove_datum.' - '.$zaznam["popis"].'" src="'.$zaznam["fotka"].'" width="'.$zaznam["width"].'" height="'.$zaznam["height"].'" alt="'.$nove_datum.' - '.$zaznam["popis"].'" title="'.$nove_datum.' - '.$zaznam["popis"].'"/></span><span class="caption">'.$nove_datum.' - '.$zaznam["popis"].'</span></a></div></li>';}
elseif ($zaznam["popis"] == true and $zaznam["datum"] == false) {echo '<li><div><a href="'.$zaznam["odkaz"].'" class="thickbox" rel="AQUAgarden.ic.cz" title="'.$zaznam["popis"].'"><span class="wrimg"><span></span><img alt="'.$zaznam["popis"].'" src="'.$zaznam["fotka"].'" width="'.$zaznam["width"].'" height="'.$zaznam["height"].'" alt="'.$zaznam["popis"].'" title="'.$zaznam["popis"].'"/></span><span class="caption">'.$zaznam["popis"].'</span></a></div></li>';}
elseif ($zaznam["popis"] == false and $zaznam["datum"] == true) {echo '<li><div><a href="'.$zaznam["odkaz"].'" class="thickbox" rel="AQUAgarden.ic.cz" title="'.$nove_datum.'"><span class="wrimg"><span></span><img alt="'.$nove_datum.'" src="'.$zaznam["fotka"].'" width="'.$zaznam["width"].'" height="'.$zaznam["height"].'" alt="'.$nove_datum.'" title="'.$nove_datum.'"/></span><span class="caption">'.$nove_datum.'</span></a></div></li>';}
else {echo "Chyba";}
}
}

echo "</ul></div>";
jak to udělat aby se to stránkovalo třeba po 9 fotkách
prosím zkušené o rady
předem moc děkuji Petr

celé je to k náhledu tu : http://aquagarden.ic.cz/fotogalerie.php?id=49&kat=1 kat 1 až 4 a id 49 nebo 31
Taps
Profil
matlala
pomocí cyklu for, zkus google
matlala
Profil
for to mě taky napadlo ale jak, už jsem hledal ale nic mi nejde aplikovat hraju si s tím od rána
Kalby
Profil
nastav si limit v databazi na pocet zaznamu ktere chces vybirat a od kolikateho prvku chces vybirat

mysql_query("select * from ".$table." LIMIT ".$od.", ".$naStrance,$db)or die(mysql_error());

kdyz bude prvni stranka tak bude $od=0 a $naStrance=9
2.stranka $od=9 a na strance porad to same, pak si uz dole das jen cislovani stranek kde budou odkazy
matlala
Profil
a co ta proměna $db to ma byt co?
dle mě je to blbost
matlala
Profil
jo proměná db je tam na vic ale funguje to diky zbytek dořeším to už vim jak nejspiš přijde na řadu matematika :))
Kalby
Profil
$db klidne muzes smazat je to jen link k pripojeni k databazi

$db=mysql_connect(...);
matlala
Profil
ještě maličkost řadí se to obráceně
takže jak zěnit dotaz
mysql_query("SELECT * FROM akva_galerie WHERE id='$id' AND kat='$kat' order by datum LIMIT ".$od.", ".$naStrance."");

nebo mam zjistit počet záznamů a pak odčítat pomocí matematických funkcí?
alteaffe
Profil *
vypis z db while a pouzij limit
Kalby
Profil
mysql_query("SELECT * FROM akva_galerie WHERE id='$id' AND kat='$kat' order by datum desc LIMIT ".$od.", ".$naStrance."");

nebo asc podle toho jak to chces radit
matlala
Profil
mam tam cyklus while v původním výpisu, nyní to je takto:
$od=(int)$_GET['od'];
$naStrance = 9;
if(isset($_GET['kat']))
{
$kat=(int)$_GET['kat'];
mysql_query("SET NAMES 'cp1250';");
$vysledek=mysql_query("SELECT * FROM akva_galerie WHERE id='$id' AND kat='$kat' order by datum DESC LIMIT ".$od.", ".$naStrance."");
if ($kat == 1) $fotogalerie = "V průběhu času";
elseif ($kat == 2) $fotogalerie = "Rostliny";
elseif ($kat == 3) $fotogalerie = "Technika a podobně";
elseif ($kat == 4) $fotogalerie = "Živočichové";
mysql_query("SET NAMES 'cp1250';");
echo"<div style=\"text-align: center;\"><h1>Fotogalerie - ".$fotogalerie."</h1><br><br><br><!--[if IE]><br><![endif]-->";
if(isset($_GET['id']))
{
$id=(int)$_GET['id'];
mysql_query("SET NAMES 'cp1250';");
$vysledek=mysql_query("SELECT * FROM `akva` WHERE `id`='$id' LIMIT 1");
$zaznam=mysql_fetch_array($vysledek);
{
global $je_id_pravdive;
$je_id_pravdive = $zaznam["id"];
}
}
$kat=(int)$_GET['kat'];
if ($kat==1){echo'
<font class="ws11">
<b><u><a href="http://aquagarden.ic.cz/fotogalerie.php?id='.$je_id_pravdive.'&k at=1" class="style_galerie">V průběhu času</a></b></u> |
<a href="http://aquagarden.ic.cz/fotogalerie.php?id='.$je_id_pravdive.'&k at=2" class="style_galerie">Rostliny</a> |
<a href="http://aquagarden.ic.cz/fotogalerie.php?id='.$je_id_pravdive.'&k at=3" class="style_galerie">Technika</a> |
<a href="http://aquagarden.ic.cz/fotogalerie.php?id='.$je_id_pravdive.'&k at=4" class="style_galerie">Živočichové</a></font>'
;}
elseif ($kat==2){echo'
<font class="ws11">
<a href="http://aquagarden.ic.cz/fotogalerie.php?id='.$je_id_pravdive.'&k at=1" class="style_galerie">V průběhu času</a> |
<b><u><a href="http://aquagarden.ic.cz/fotogalerie.php?id='.$je_id_pravdive.'&k at=2" class="style_galerie">Rostliny</a></b></u> |
<a href="http://aquagarden.ic.cz/fotogalerie.php?id='.$je_id_pravdive.'&k at=3" class="style_galerie">Technika</a> |
<a href="http://aquagarden.ic.cz/fotogalerie.php?id='.$je_id_pravdive.'&k at=4" class="style_galerie">Živočichové</a></font>'
;}
elseif ($kat==3){echo'
<font class="ws11">
<a href="http://aquagarden.ic.cz/fotogalerie.php?id='.$je_id_pravdive.'&k at=1" class="style_galerie">V průběhu času</a> |
<a href="http://aquagarden.ic.cz/fotogalerie.php?id='.$je_id_pravdive.'&k at=2" class="style_galerie">Rostliny</a> |
<b><u><a href="http://aquagarden.ic.cz/fotogalerie.php?id='.$je_id_pravdive.'&k at=3" class="style_galerie">Technika</a></b></u> |
<a href="http://aquagarden.ic.cz/fotogalerie.php?id='.$je_id_pravdive.'&k at=4" class="style_galerie">Živočichové</a></font>'
;}
elseif ($kat==4){echo'
<font class="ws11">
<a href="http://aquagarden.ic.cz/fotogalerie.php?id='.$je_id_pravdive.'&k at=1" class="style_galerie">V průběhu času</a> |
<a href="http://aquagarden.ic.cz/fotogalerie.php?id='.$je_id_pravdive.'&k at=2" class="style_galerie">Rostliny</a> |
<a href="http://aquagarden.ic.cz/fotogalerie.php?id='.$je_id_pravdive.'&k at=3" class="style_galerie">Technika</a> |
<b><u><a href="http://aquagarden.ic.cz/fotogalerie.php?id='.$je_id_pravdive.'&k at=4" class="style_galerie">Živočichové</a></b></u></font>'
;}


echo"<ul class=\"galerie\">";
mysql_query("SET NAMES 'cp1250';");
$vysledek=mysql_query("SELECT * FROM akva_galerie WHERE id='$id' AND kat='$kat' order by datum DESC LIMIT ".$od.", ".$naStrance."");
while ($zaznam=MySQL_Fetch_Array($vysledek))
{
include ("include/uprava_data.php");
if ($zaznam["popis"] == true and $zaznam["datum"] == true and $kat == 1) {echo '<li><div><a href="'.$zaznam["odkaz"].'" class="thickbox" rel="AQUAgarden.ic.cz" title="'.$nove_datum.' - '.$zaznam["popis"].'"><span class="wrimg"><span></span><img alt="'.$nove_datum.' - '.$zaznam["popis"].'" src="'.$zaznam["fotka"].'" width="'.$zaznam["width"].'" height="'.$zaznam["height"].'" alt="'.$nove_datum.' - '.$zaznam["popis"].'" title="'.$nove_datum.' - '.$zaznam["popis"].'"/></span><span class="caption">'.$nove_datum.' - '.$zaznam["popis"].'</span></a></div></li>';}
elseif ($zaznam["popis"] == true and $zaznam["datum"] == true) {echo '<li><div><a href="'.$zaznam["odkaz"].'" class="thickbox" rel="AQUAgarden.ic.cz" title="'.$nove_datum.' - '.$zaznam["popis"].'"><span class="wrimg"><span></span><img alt="'.$nove_datum.' - '.$zaznam["popis"].'" src="'.$zaznam["fotka"].'" width="'.$zaznam["width"].'" height="'.$zaznam["height"].'" alt="'.$nove_datum.' - '.$zaznam["popis"].'" title="'.$nove_datum.' - '.$zaznam["popis"].'"/></span><span class="caption">'.$nove_datum.' - '.$zaznam["popis"].'</span></a></div></li>';}
elseif ($zaznam["popis"] == true and $zaznam["datum"] == false) {echo '<li><div><a href="'.$zaznam["odkaz"].'" class="thickbox" rel="AQUAgarden.ic.cz" title="'.$zaznam["popis"].'"><span class="wrimg"><span></span><img alt="'.$zaznam["popis"].'" src="'.$zaznam["fotka"].'" width="'.$zaznam["width"].'" height="'.$zaznam["height"].'" alt="'.$zaznam["popis"].'" title="'.$zaznam["popis"].'"/></span><span class="caption">'.$zaznam["popis"].'</span></a></div></li>';}
elseif ($zaznam["popis"] == false and $zaznam["datum"] == true) {echo '<li><div><a href="'.$zaznam["odkaz"].'" class="thickbox" rel="AQUAgarden.ic.cz" title="'.$nove_datum.'"><span class="wrimg"><span></span><img alt="'.$nove_datum.'" src="'.$zaznam["fotka"].'" width="'.$zaznam["width"].'" height="'.$zaznam["height"].'" alt="'.$nove_datum.'" title="'.$nove_datum.'"/></span><span class="caption">'.$nove_datum.'</span></a></div></li>';}
else {echo "Chyba";}
}
}


ale jak na ty odkazy, zkoušel jsem odčítání ale nevím jak jinak napsat ten příkaz for
Kalby
Profil
takhle mam napsanou tu funkci na zobrazeni tech cisel stranek:

function zobrazCisla($celkem,$strana,$naStrance){
$pocetStran=ceil($celkem/$naStrance);
$od=(($strana-1)*$naStrance)+1;
$do=(($strana-1)*$naStrance)+$naStrance;

if($do>$celkem){
$do=$celkem;
}
echo "Zobrazuji záznamy ".$od."-".$do." : &nbsp;&nbsp;&nbsp;";

for($i=1;$i<=$pocetStran;$i++){
$pomoc=$i;
if($i==$strana){
$pomoc="<b>".$i."</b>";
}
echo "<a href=\"admin.php?strana=".$i."\">".$pomoc."</a>|";
}


}
matlala
Profil
$od=(int)$_GET['od'];
$naStrance = 9;
$vysledek=mysql_query("SELECT * FROM akva_galerie WHERE id='$id' AND kat='$kat' order by datum DESC");
$celkem = mysql_num_rows($vysledek);
function zobrazCisla($celkem,$strana,$naStrance=9){
$pocetStran=ceil($celkem/$naStrance);
$od=(($strana-1)*$naStrance)+1;
$do=(($strana-1)*$naStrance)+$naStrance;

if($do>$celkem){
$do=$celkem;
}
echo "Zobrazuji záznamy ".$od."-".$do." : &nbsp;&nbsp;&nbsp;";

for($i=1;$i<=$pocetStran;$i++){
$pomoc=$i;
if($i==$strana){
$pomoc="<b>".$i."</b>";
}
$kat=(int)$_GET['kat'];
echo "<a href=\"fotogalerie.php?id=".$id."&kat=".$kat."&od=".$i."\">".$pomoc."< /a>|";
}


}
echo zobrazCisla($celkem,1,9)
matlala
Profil
sorry blbne mi pc
matlala
Profil
tak jak na to
stránkuje se to po 9 fotech a to co tam je (viz výše) tak haže moc stranek na posledni už nic neni
matlala
Profil
omlouvám se nejak mi blbne odesíláné formuláře
Kalby
Profil
hm divny me se to zobrazuje normalne, tak jestli se ti zobrazuje jedna navic tak staci jen upravit cyklus for

for($i=1;$i<$pocetStran;$i++)
matlala
Profil
to jsem zkoušel
http://aquagarden.ic.cz/fotogalerie.php?id=49&kat=1&od=0
viz vygenerované linky

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