Autor Zpráva
amorekj
Profil
Dobrý den,
jde o to, že mám skript fotogalerie. Ne celý, protože výpis dodělávám, ale mám tu zvláštní problém. Nahrál jsem pro vyzkoušení 5 obrázků s popisy, zařazením do kategorií a podkategorií. Kategorie jsou nadřazené podkategoriích (což je logické). Každá kategorie má své podkategorie. Takže když pomocí $_GET chci vypsat kategorii třeba mou založenou "karel-gott" (v přepisu do webové adresy).. Měli by se vypsat všechny kategorie s nápisem Karel Gott.. Ono mi to hlásí, že kategorie neexistuje (když odendám podmínku, vypíše vše z db).. Když ovšem zadám druhou existující kategorii zvanou "muhehe" (:D).. Najednou to vypíše jen jeden obrázek, co tam doopravdy patří.. Nechápu to a prosím o radu.. Co dělám špatně? :) Děkuji

<?
$zazn = mysql_fetch_array(mysql_query("SELECT * FROM `foto` ORDER BY `id` DESC"));
if(!isset($_GET['str'])) { $_GET['str'] = $zazn['kat-adresa']; }

//další nepodstatný kód

if($zazn['kat-adresa'] != $_GET['str']){ echo "<p>Zvolená <strong>kategorie neexistuje</strong>.</p><p>Prosím, zadejte jinou kategorii fotogalerie.</p>";}
  else{
if(mysql_result(mysql_query("SELECT COUNT(*) FROM `foto`"),0) == 0){ echo "<p>Fotogalerie je <strong>prázdná</strong>.</p><p>Počkejte prosím než někdo ze SKI Klubu nějakou fotografii přidá.</p>"; }
  else{
$vypis = mysql_query("SELECT * FROM `foto` WHERE `kat-adresa` = '". mysql_real_escape_string($_GET['str']) ."' ORDER BY `podkategorie` ASC"); 
while ($zaznam = mysql_fetch_array($vypis)){
  
if($podkategorie != $zaznam['podkategorie']){
  $podkategorie = $zaznam['podkategorie'];
  echo '<h2 class="nadpis-cely">'.$podkategorie.'</h2>';
}
?>
<div class="obrazek-cely">
<a href="<?php echo $zaznam['url']; ?>" rel="lightbox[<?php echo $zaznam['podkategorie']; ?>]" title="<?php echo $zaznam['titulek']; ?>">
  <img src="<?php echo $zaznam['url-nahled']; ?>" title="<?php echo $zaznam['titulek']; ?>" alt="<?php echo $zaznam['titulek']; ?>">
</a>
<p><?php echo $zaznam['titulek']; ?></p>
</div>
<? }}} 
?>
Ugo
Profil
ř 2,7 - vybíráš poslední přidanou kategorii a pak jí porovnáváš se stringem z URL, takže takhle můžeš zobrazit jen poslední přidanou kategorii.

zbytek si myslím že by neměl být problém
amorekj
Profil
Tak jsem kód upravil, už to nepíše u existující kategorie, že neexistuje, ale výpis se jinak nezměnil..

$zazn = mysql_fetch_array(mysql_query("SELECT * FROM `foto` ORDER BY `id` DESC"));
if(!isset($_GET['str'])) { $_GET['str'] = $zazn['kat-adresa']; }

$zazn6 = mysql_fetch_array(mysql_query("SELECT * FROM `foto` WHERE `kat-adresa` = '". mysql_real_escape_string($_GET['str']) ."'"));
if($zazn6['kat-adresa'] != $_GET['str']){ echo "<p>Zvolená <strong>kategorie neexistuje</strong>.</p><p>Prosím, zadejte jinou kategorii fotogalerie.</p>";}
  else{
if(mysql_result(mysql_query("SELECT COUNT(*) FROM `foto`"),0) == 0){ echo "<p>Fotogalerie je <strong>prázdná</strong>.</p><p>Počkejte prosím než někdo ze SKI Klubu nějakou fotografii přidá.</p>"; }
  else{
$vypis = mysql_query("SELECT * FROM `foto` WHERE `kat-adresa` = '". mysql_real_escape_string($_GET['str']) ."' ORDER BY `podkategorie` ASC"); 
while ($zaznam = mysql_fetch_array($vypis)){
  
if($podkategorie != $zaznam['podkategorie']){
  $podkategorie = $zaznam['podkategorie'];
  echo '<h2 class="nadpis-cely">'.$podkategorie.'</h2>';
}
?>
<div class="obrazek-cely">
<a href="<?php echo $zaznam['url']; ?>" rel="lightbox[<?php echo $zaznam['podkategorie']; ?>]" title="<?php echo $zaznam['titulek']; ?>">
  <img src="<?php echo $zaznam['url-nahled']; ?>" title="<?php echo $zaznam['titulek']; ?>" alt="<?php echo $zaznam['titulek']; ?>">
</a>
<p><?php echo $zaznam['titulek']; ?></p>
</div>
<? }}} 
?>

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: