Autor Zpráva
unlucky
Profil
Mám vypsání obrázků a u každého obrázku mám nadpis, který se umístí nad obrázkem. Problém nastává, když je nadpis příliš dlouhý tak se obrázek posune o řádek dolu. To mám vyřešený tak, že mám

1 div nadpis
<div class=nadpis>
<div style="width:22%;float:left; padding:5px;">f</div>
<div style="width:22%;float:left; padding:5px;">ajdfl sdfds fsdf sf jfls d</div>
<div style="width:22%;float:left; padding:5px;">adfjl jfls jflsj fljsd sjf</div>
<div style="width:22%;float:left; padding:5px;">sdfdsfsd</div>
</div>	


a dole obrazky
<div style="clear:both"></div>
<div>
	<div style="width:22%; height:190px; float:left; padding:5px;">
<img src="jpg" width="164" height="124" class="thumb"><br />
sdfsdfsdf sf sf sf sdf s
</div>
	<div style="width:22%; height:190px; float:left; padding:5px;">
<img src="jpg" width="164" height="124" class="thumb"><br />
sdfsdfsdf sf sf sf sdf s
</div>
	<div style="width:22%; height:190px; float:left; padding:5px;">
<img src="jpg" width="164" height="124" class="thumb"><br />
sdfsdfsdf sf sf sf sdf s
</div>
	<div style="width:22%; height:190px; float:left; padding:5px;">
<img src="jpg" width="164" height="124" class="thumb"><br />
sdfsdfsdf sf sf sf sdf s
</div>
</div>	


Problém je, že nevímjak to vypsat pomocí cyklu (z databaze), aby se toto stylování zachovalo. Děkuji za rady
SwimX
Profil
unlucky:
to je slušně řečeno prasárna.

Proč neudělat:

while($row =....){
?>
<div class='detail'>
  <h1><?=(strlen($row['nadpis'])>20?substr($row['nadpis'],0,20):$row['nadpis'])?></h1>
  <img src=...>
  <p><?=$row['popis']?></p>
</div>
<?php
}
unlucky
Profil
Právě že nechci řešit přes substr :P
keeehi
Profil
while($row =....)
  $zdb[]=$row;

echo"<div class=nadpis>";

foreach($zdb as $pole)
  echo "<div style=\"width:22%;float:left; padding:5px;\">".$pole["nadpis"]."</div>";

echo"</div>";




echo"<div style=\"clear:both\"></div>
<div>";

foreach($zdb as $pole)
  echo "<div style=\"width:22%; height:190px; float:left; padding:5px;\">
<img src=\"jpg\" width=\"164\" height=\"124\" class=\"thumb\"><br />".$pole["nadpis"]."
</div>";

echo"</div>";
unlucky
Profil
keehi:

to cos mi napsal vypisuje nejdrive vsechny nadpisy pak dole obrazky
SwimX
Profil
unlucky:
no nečekaně, když to máš v #1 taky tak. Jen ti udělal to co máš, v cyklu.

Právě že nechci řešit přes substr :P
a důvod máš? :P
unlucky
Profil
to co mam v #1 je pouze priklad, ktery bych chtel uplatnit u xxx obrazku. Bohuzel ale u #1 funguje jenom pro prvni prvni 4 obrazky a nevim jak to udelat pro neomezeny pocet.

Slo by to pres: overflow nebo substr, ale to nechci, protoze se muze stat, ze kdyz to skonci na znak ěščěřčřčš zobrazi se ctverec
dalsi moznosti je pouzit tabulky, coz take nechci :P

Jak tak hledam na internetu, tak jsem jeste nevidel nikde toto reseni
Alphard
Profil
unlucky:
protoze se muze stat, ze kdyz to skonci na znak ěščěřčřčš zobrazi se ctvere
Místo substr() použijte mb_substr().

SwimX:
Na ten mail jsem nezapomněl, jen jsem to nestihl.
unlucky
Profil
Alphard a slo by to teda s tim divem?
Alphard
Profil
unlucky:
Reagoval jsem na to, co jsem citoval, váš původní dotaz moc nechápu.

Ale jestli chcete zobrazit nadpis a obrázek vedle sebe, tak nevidím jediný důvod prvně vypisovat jednu část, pak druhou a kombinovat tam nějaké šílenosti s float.

Jestli je to tak, dotaz měl být v kategorii html nebo css a měl jste se ptát, jak řešit původní problém a ne ho obcházet. (Jestli chcete tohle vlákno přesunout, tak to napište, nezakládejte duplicitu.)

Alphard a slo by to teda s tim divem?
Já jsem mizerný kodér, takže v tomhle vám neporadím. Na původní otázku jste odpověď již dostal [#4], takže upřesněte, co vlastně chcete.
unlucky
Profil
chci to, co je v #1, ale v cyklu. Jak uz jsem vysvetlil, na KAZDY radek 4 obrazky, NAD nima nadpis. V pripade, ze by byl nadpis prilis dlouhy, cast textu pujde dolu a tim posune obrazek pod nim. V #1 jsem to prakticky vyresil, ale nevim jak ho dat do cyklu. Protoze se tam muze objevit 15 obrazku atd...
Alphard
Profil
Aha, až těď jsem to pochopil :-)

Zkuste tohle, ale nejsem si jistý, jestli jsem to zpaměti napsal správně.

<?php
while($row =....)
  $zdb[]=$row;



$chunk = array_chunk($zdb, 4);

for ($i = 0; $i < ceil(count($zdb)/4); $i++)
{
  echo"<div class=nadpis>";

  foreach($chunk[$i] as $pole)
    echo "<div style=\"width:22%;float:left; padding:5px;\">".$pole["nadpis"]."</div>";

  echo"</div>";




  echo"<div style=\"clear:both\"></div>
  <div>";

  foreach($chunk[$i] as $pole)
    echo "<div style=\"width:22%; height:190px; float:left; padding:5px;\">
  <img src=\"jpg\" width=\"164\" height=\"124\" class=\"thumb\"><br />".$pole["nadpis"]."
  </div>";

  echo"</div>";
}
unlucky
Profil
ano, presne tak jsem to potreboval

dekuju mockrat. Pres ty tabulky to nebyly ono :P

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: