Autor Zpráva
Monja
Profil *
Ahoj,
zdravím všechny odborníky na php. Potřebovala bych poradit... Už celkem ovládám HTML a CSS. Dělám webovky pro naši skupinu a potřebovala bych poradit s fotogalerii. Doposud jsem si vytvořila dvě složky ke každé akci (složka s náhledama a složka s velkýma fotkama) a udělala jsem si tabulku - počet sloupců 4 a počet řádků podle potřeby a tam jsem natahala náhledy a udělala linky na velké fotky. Jenomže těch fotek je někdy 100 a je to na dlouho a tak bych to chtěla řešit přes PHP. Už jsem se dívala na linuxsoft, ale toto jsem tam nenašla. Moje představa: zjistim nzvy fotek, které jsou ve složce s náhledy a vytvořím tabulku, která bude mít vždy 4 sloupce a počet řádků podle potřeby. Už jsem trošku experimentovala a podařilo se mi nějak, aby se mi fotky zobrazovali v shadowboxu ale pouze v jedno sloupci. prostě neumím udělat aby byli fotky vedle sebe ve čtyřech sloupcích a pak přeskočili na nový řádek.
Poradíte mi prosím
mckay
Profil
Monja:
Bez ukázky zdrojového kódu to půjde trochu obtížně... pokud chceš, můžeš mě kontaktovat na email (dusekdan(zavinac)gmail.com), jabber (dusekdan@jabbim.cz), nebo icq (575*170*123) a pomůžu ti s tím.
Monja
Profil *
No, takhle to dělám ručně

<table>
  <tr>
    <td><a href="vystoupeni_brno/big/image001.jpg" rel="shadowbox"><img src="vystoupeni_brno/thumb/image001.jpg" /></td>
    <td><a href="vystoupeni_brno/big/image002.jpg" rel="shadowbox"><img src="vystoupeni_brno/thumb/image002.jpg" /></td>
    <td><a href="vystoupeni_brno/big/image003.jpg" rel="shadowbox"><img src="vystoupeni_brno/thumb/image003.jpg" /></td>
    <td><a href="vystoupeni_brno/big/image004.jpg" rel="shadowbox"><img src="vystoupeni_brno/thumb/image004.jpg" /></td>
  </tr>
  <tr>
    <td><a href="vystoupeni_brno/big/image005.jpg" rel="shadowbox"><img src="vystoupeni_brno/thumb/image005.jpg" /></td>
    <td><a href="vystoupeni_brno/big/image006.jpg" rel="shadowbox"><img src="vystoupeni_brno/thumb/image006.jpg" /></td>
    <td><a href="vystoupeni_brno/big/image007.jpg" rel="shadowbox"><img src="vystoupeni_brno/thumb/image007.jpg" /></td>
    <td><a href="vystoupeni_brno/big/image008.jpg" rel="shadowbox"><img src="vystoupeni_brno/thumb/image008.jpg" /></td>            
  </tr>
  <tr>
    <td><a href="vystoupeni_brno/big/image009.jpg" rel="shadowbox"><img src="vystoupeni_brno/thumb/image009.jpg" /></td>
    <td><a href="vystoupeni_brno/big/image010.jpg" rel="shadowbox"><img src="vystoupeni_brno/thumb/image010.jpg" /></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>

a chtěla bych, aby to udělalo php za mě nějakým dvojtým cyklem.
mckay
Profil
Monja:
A znáš alespoň nějaké phpkové funkce? Třeba scandir(); atd?

Mimochodem, vkládej kód do značky "code", je to pak lépe čitelné a stačí kliknout na
Monja
Profil *
Jo, už nějaké základy myslím znám.
V mém případě se musí projít složka a pak to jenom vypsat. Ale měl by tam být nějaký cyklus po 4 a vždy pak vytvořit nový řádek
scandir();
while neco then echo '<td><a href="vystoupeni_brno/big/' . $obrazek . '" rel="shadowbox" ><img src="vystoupeni_brno/thumb/' . $obrazek '"></a></td>';
mckay
Profil
Monja:
Then se ve foru v php nepoužívá.

<?php

$scan = scandir("img"); //tady si nastav složku s obrázkama

$pocet = count($scan);

echo "<table>";$n=0;$end=FALSE;
for($i=2;$i<$pocet;$i++)
{  $n++;
if($n==1){echo '<tr>';$end=FALSE;}
echo "<td><img src='img/$scan[$i]' width='35%' height='35%' /></td>";

if($n==4){echo "</tr>";$n=0;$end=TRUE;}

}

if($end==FALSE)echo "</tr>";echo "</table>";

?>
Monja
Profil *
nefunguje :-(
mattyZEM
Profil
Ale funguje.

Jediné co musíš udělat, je upravit hodnotu ve fci scandir.
Monja
Profil *
pardon, funguje. Ja to zkoušela přes Wamp a nešlo to, ale teď jsem to dala na web a funguje to. Ted tam ale ještě musím začlenit aby se otevírala fotka ze složky BIG přes shadowbox
Monja
Profil *
Zkoušela jsem toto
<?php

$scan = scandir("thumb"); //tady si nastav složku s obrázkama
$pocet = count($scan);
 
echo "<table>";$n=0;$end=FALSE;
for($i=2;$i<$pocet;$i++) {  
      $n++;
      if($n==1){echo '<tr>';$end=FALSE;}
      echo "<td><a href='big/$scan[$i]' rel="shadowbox"><img src='thumb/$scan[$i]' /></a></td>"; 
      if($n==4){echo "</tr>";$n=0;$end=TRUE;}
   }
if($end==FALSE)echo "</tr>";echo "</table>";;;		

?>


Ale píše mi to chybu
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/www/labjuc.cz/a/index.php on line 10
Monja
Profil *
Už mi to funguje celé. Měla jsem tam chybu v syntaxi. Mockrát děkuju za kód, Mckay.
Monja
Profil *
Ahoj,
ještě mám malý dotaz. Takový detail... Když si zobrazím zdrojový kód té tabulky s fotkama, všechno je to na jednom řádku, ale já bych chtěla aby to bylo hezky řádkované jak to mám v příspěvku č.3. Zkoušela jsem \n a <br> ale pořád je ten zdrojový kód na jednom řádku. Vím, že na funkčnosti to nemá vliv, ale mám ráda hezký HTML kód. Poradíte mi prosím co do toho kódu mám doplnit?

<?php
$cesta = "fotky/2010-02-06_brno";

$scan = scandir($cesta . '/thumb');
$pocet = count($scan);
 
echo '<table width="0" border="2" align="center" cellpadding="5" cellspacing="0">';$n=0;$end=FALSE;
for($i=2;$i<$pocet;$i++) {  
      $n++;
      if($n==1){echo '<tr>';$end=FALSE;}
      echo '<td align="center"><a href="' . $cesta . '/big/' . $scan[$i] . '" rel="shadowbox[a]"><img src="' . $cesta . '/thumb/' . $scan[$i] . '" /></a></td>'; 
      if($n==5){echo "</tr>";$n=0;$end=TRUE;}
   }
if($end==FALSE)echo "</tr>";echo "</table>";		

?>
mckay
Profil
Monja:
Hodíš enter tam, kde ho potřebuješ.

<?php
$cesta = "fotky/2010-02-06_brno";

$scan = scandir($cesta . '/thumb');
$pocet = count($scan);

echo '
<table width="0" border="2" align="center" cellpadding="5" cellspacing="0">
';$n=0;$end=FALSE;
for($i=2;$i<$pocet;$i++) {
$n++;
if($n==1){echo '
<tr>
';$end=FALSE;}
echo '
<td align="center"><a href="' . $cesta . '/big/' . $scan[$i] . '" rel="shadowbox[a]"><img src="' . $cesta . '/thumb/' . $scan[$i] . '" /></a></td>
';
if($n==5){echo "</tr>";$n=0;$end=TRUE;}
}
if($end==FALSE)echo "
</tr>
";echo "
</table>
";

?>
Monja
Profil *
To je ono. Mnohokrát děkuju

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: