| Autor | Zpráva | ||
|---|---|---|---|
| Tomashekk Profil |
#1 · Zasláno: 21. 11. 2010, 14:47:33
Prosím, potřeboval bych poradit jak opravit toto:
<?php echo "<div style='margin: 5px; float: left; text-align: center;'>"; echo "<div style='width: 130px; height: 100px; padding: 15px;'>"; echo "<a href='?page=admin/index&admin=topic&co=upd&ID=".$radek['ID']."'><img src='image/topic/".$radek['img']."' title='".$radek['name_cs']."' alt='".$radek['name_cs']."' /></a>"; echo "</div>"; echo "<div style='width:140px; background: #000; color: #FFF; text-align: center;' title='".$radek['name_cs']."'>".$radek['name_cs']."</div>"; echo "</div>"; ?> |
||
| panther Profil |
#2 · Zasláno: 21. 11. 2010, 15:01:31
Tomashekk:
problém se eivdentně týká CSS, a přesto sem dáš kus PHP kódu (kdybys sem dal aspoň to finální HTML, které dostane prohlížeč). Pátému, devátému, třináctému, … přidej „clear: left“. Pohledej modulo. |
||
| Tomashekk Profil |
#3 · Zasláno: 21. 11. 2010, 15:07:50 · Upravil/a: Tomashekk
panther:
počkej a nejde to udělat nějak tak abych to nemusel dělat ručně? aby to sám rozpoznal? HTML (ale děsnej) <div style='width: 130px; clear:both; height: 100px; padding: 15px;'><a href='?page=admin/index&admin=topic&co=upd&ID=30'><img src='image/topic/5AV_veterina.gif' title='Veterina' alt='Veterina' /></a></div><div style='width:140px; background: #000; color: #FFF; text-align: center;' title='Veterina'>Veterina</div></div><div style='margin: 5px; float: left; text-align: center;'><div style='width: 130px; clear:both; height: 100px; padding: 15px;'><a href='?page=admin/index&admin=topic&co=upd&ID=31'><img src='image/topic/5AV_veterina_de.gif' title='TIERARZT' alt='TIERARZT' /></a></div><div style='width:140px; background: #000; color: #FFF; text-align: center;' title='TIERARZT'>TIERARZT</div></div><div style='margin: 5px; float: left; text-align: center;'><div style='width: 130px; clear:both; height: 100px; padding: 15px;'><a href='?page=admin/index&admin=topic&co=upd&ID=32'><img src='image/topic/5AV_rady_a_tipy.gif' title='Rady a tipy čtenářů' alt='Rady a tipy čtenářů' /></a></div><div style='width:140px; background: #000; color: #FFF; text-align: center;' title='Rady a tipy čtenářů'>Rady a tipy čtenářů</div></div><div style='margin: 5px; float: left; text-align: center;'><div style='width: 130px; clear:both; height: 100px; padding: 15px;'><a href='?page=admin/index&admin=topic&co=upd&ID=33'><img src='image/topic/5AV_rady_a_tipy_de.gif' title='WIR HELFEN UNS' alt='WIR HELFEN UNS' /></a></div><div style='width:140px; background: #000; color: #FFF; text-align: center;' title='WIR HELFEN UNS'>WIR HELFEN UNS</div> |
||
| panther Profil |
#4 · Zasláno: 21. 11. 2010, 15:10:19
Tomashekk:
„a nejde to udělat nějak tak abych to nemusel dělat ručně?“ ano, jde. Čti pořádně, co píšu. |
||
| Tomashekk Profil |
#5 · Zasláno: 21. 11. 2010, 15:14:35 · Upravil/a: Tomashekk
panther:
„Pátému, devátému, třináctému, … přidej ‚clear: left‘“ takhle bych to musel dělat ručně jelikož když přidám další a bude mít delší text, tak musím zase růčo dát ten za ním „Pohledej modulo“ to je co? - už vím, ale nechápu jak mi to pomůže |
||
| xmark Profil |
#6 · Zasláno: 21. 11. 2010, 15:19:14
Tomashekk:
Proč z divů skládáš tabulku? Znáš <table>? |
||
| Tomashekk Profil |
#7 · Zasláno: 21. 11. 2010, 15:20:13
xmark:
znám, ale přiznám se, že nevím jak udělat v cyklu aby když udělá 4 sloupce aby začal další řádek |
||
| xmark Profil |
#8 · Zasláno: 21. 11. 2010, 15:24:11
Tomashekk:
Počítej vygenerované <td>. Za každou buňkou přičti k něčemu jedničku a až budeš mít 4, ukonči řádek, začni nový a proměnnou vynuluj. |
||
| Tomashekk Profil |
#9 · Zasláno: 21. 11. 2010, 15:33:50
xmark:
takže nějak takto? <?php
for($x=1,$x==4,$x++)
{
if($x<4) {echo "<td></td>"; }else { echo "<td></td></tr>"; $x = 1; }
}
?> |
||
| panther Profil |
#10 · Zasláno: 21. 11. 2010, 15:36:37 · Upravil/a: panther
Tomashekk:
„nechápu jak mi to pomůže“ předpokládám, že to celé vypisuješ z DB nějakým cyklem. Nějak takto (dal jsem za každý 4. <br>, šla by přidet jen do style <div>u tato vlastnost):
$i = 1;
while (…) {
echo '…';
if ($i % 4 == 0) echo '<br style="clear: both;">';
$i++;
}xmark: „Proč z divů skládáš tabulku?“ řekl bych, že toto klasická tabulka nebude, působí to na mě spíš jako menu nebo nějaký seznam čehosi, co na obrázku není moc vidět, je malý. |
||
| Tomashekk Profil |
#11 · Zasláno: 21. 11. 2010, 15:37:15
panther:
je to seznam témat... |
||
| panther Profil |
#12 · Zasláno: 21. 11. 2010, 15:39:07
Tomashekk:
„je to seznam témat…“ tím spíše ne sada divů, ale seznam <ul> a každé téma do <li>. Princip, jak použít modulo, je stejný, jako jsem uvedl výše. |
||
| Tomashekk Profil |
#13 · Zasláno: 21. 11. 2010, 15:39:40 · Upravil/a: Tomashekk
panther:
> $i = 0; > while (…) { > echo '…'; > if ($i % 4 == 1) echo '<br style="clear: both;">'; > $i++; > } ok a do while si dám co?tam bude v mém případě asi $radek = mysql_fetch_array($vysledek) takže celé by to vypadalo takto? $i = 0; while ($radek = mysql_fetch_array($vysledek)) //Načte výsledný řádek do asociativního pole
{
echo "<div style='margin: 5px; float: left; text-align: center;'>";
echo "<div style='width: 130px; height: 100px; padding: 15px;'>";
echo "<a href='?page=admin/index&admin=topic&co=upd&ID=".$radek['ID']."'><img src='image/topic/".$radek['img']."' title='".$radek['name_cs']."' alt='".$radek['name_cs']."' /></a>";
echo "</div>";
echo "<div style='width:140px; background: #000; color: #FFF; text-align: center;' title='".$radek['name_cs']."'>".$radek['name_cs']."</div>";
echo "</div>";
if ($i % 4 == 1) echo '<br style="clear: both;">';
$i++;
} Toto mi to celé spraví, jen udělá to samé po prvních dvou výpisech, ale pak to jede už správně |
||
| panther Profil |
#14 · Zasláno: 21. 11. 2010, 15:43:44
Tomashekk:
$i = 1; while ($radek = mysql_fetch_array($vysledek)) //Načte výsledný řádek do asociativního pole
{
echo "<div style='margin: 5px; float: left; text-align: center;'>";
echo "<div style='width: 130px; height: 100px; padding: 15px;'>";
echo "<a href='?page=admin/index&admin=topic&co=upd&ID=".$radek['ID']."'><img src='image/topic/".$radek['img']."' title='".$radek['name_cs']."' alt='".$radek['name_cs']."' /></a>";
echo "</div>";
echo "<div style='width:140px; background: #000; color: #FFF; text-align: center;' title='".$radek['name_cs']."'>".$radek['name_cs']."</div>";
echo "</div>";
if ($i % 4 == 0) echo '<br style="clear: both;">';
$i++;
} |
||
| Tomashekk Profil |
#15 · Zasláno: 21. 11. 2010, 15:45:40
panther:
jj, takhle to jde.. takže co to dělá? v ifu to zjistí zda je zbytek po dělení $i / 4 nula a když ano, tak to odřádkuje s clearem? |
||
| panther Profil |
#16 · Zasláno: 21. 11. 2010, 15:48:23 · Upravil/a: panther
Tomashekk:
„takže co to dělá?“ vypíše to floatovaný div, na konci přičte jedničku do proměnné $i. Po každém 4. průchodu se přidá cleaner, a pokud víš, jak clear funguje, mělo by to být jasné. Pokud ne, doporučuji nastudovat.
Druhá, a mo6n8 trochu hezčí možnost, je tahle: $i = 1; while ($radek = mysql_fetch_array($vysledek)) //Načte výsledný řádek do asociativního pole
{
echo "<div style='margin: 5px; float: left; text-align: center; ". ($i % 4 == 1 ? 'clear: left;' : "") ."'>";
echo "<div style='width: 130px; height: 100px; padding: 15px;'>";
echo "<a href='?page=admin/index&admin=topic&co=upd&ID=".$radek['ID']."'><img src='image/topic/".$radek['img']."' title='".$radek['name_cs']."' alt='".$radek['name_cs']."' /></a>";
echo "</div>";
echo "<div style='width:140px; background: #000; color: #FFF; text-align: center;' title='".$radek['name_cs']."'>".$radek['name_cs']."</div>";
echo "</div>";
$i++;
}A nejlépe seznamem, jak jsem říkal: echo '<ul>'; //podmínka, jestli je alespoň jeden záznam
$i = 1; while ($radek = mysql_fetch_array($vysledek)) //Načte výsledný řádek do asociativního pole
{
echo "<li style='margin: 5px; float: left; text-align: center; ". ($i % 4 == 1 ? 'clear: left;' : "") ."'>";
echo "<div style='width: 130px; height: 100px; padding: 15px;'>";
echo "<a href='?page=admin/index&admin=topic&co=upd&ID=".$radek['ID']."'><img src='image/topic/".$radek['img']."' title='".$radek['name_cs']."' alt='".$radek['name_cs']."' /></a>";
echo "</div>";
echo "<div style='width:140px; background: #000; color: #FFF; text-align: center;' title='".$radek['name_cs']."'>".$radek['name_cs']."</div>";
echo "</li>";
$i++;
}
echo '</ul>'; |
||
| xmark Profil |
#17 · Zasláno: 21. 11. 2010, 16:02:03
Tomashekk:
Počítáš s tím, že až ti to v těch divech bude fungovat, budeš mít pod každým divem, který má dvouřádkový popisek, všechny další divy o ten řádek odsazené dolů? |
||
|
Časová prodleva: 16 let
|
|||
0