Autor | Zpráva | ||
---|---|---|---|
matlala Profil |
#1 · Zasláno: 29. 1. 2008, 14:34:18
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 |
#2 · Zasláno: 29. 1. 2008, 14:39:59
matlala
pomocí cyklu for, zkus google |
||
matlala Profil |
#3 · Zasláno: 29. 1. 2008, 14:45:54
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 |
#4 · Zasláno: 29. 1. 2008, 17:46:01
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 |
#5 · Zasláno: 29. 1. 2008, 18:55:57
a co ta proměna $db to ma byt co?
dle mě je to blbost |
||
matlala Profil |
#6 · Zasláno: 29. 1. 2008, 18:59:12
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 |
#7 · Zasláno: 29. 1. 2008, 18:59:41
$db klidne muzes smazat je to jen link k pripojeni k databazi
$db=mysql_connect(...); |
||
matlala Profil |
#8 · Zasláno: 29. 1. 2008, 19:02:59
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 * |
#9 · Zasláno: 29. 1. 2008, 20:26:40
vypis z db while a pouzij limit
|
||
Kalby Profil |
#10 · Zasláno: 29. 1. 2008, 20:28:35
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 |
#11 · Zasláno: 30. 1. 2008, 08:15:20
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 |
#12 · Zasláno: 30. 1. 2008, 12:37:22 · Upravil/a: Kalby
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." : "; 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 |
#13 · Zasláno: 30. 1. 2008, 16:44:59 · Upravil/a: matlala
$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." : "; 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 |
#14 · Zasláno: 30. 1. 2008, 16:45:42 · Upravil/a: matlala
sorry blbne mi pc
|
||
matlala Profil |
#15 · Zasláno: 30. 1. 2008, 17:38:58
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 |
#16 · Zasláno: 30. 1. 2008, 17:39:46
omlouvám se nejak mi blbne odesíláné formuláře
|
||
Kalby Profil |
#17 · Zasláno: 30. 1. 2008, 19:32:04
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 |
#18 · Zasláno: 30. 1. 2008, 19:37:29
|
||
Časová prodleva: 16 let
|
0