Autor Zpráva
frantisek
Profil *
Ahoj mam tento script ktery mi vypisuje data, do dvou sloupcu a ted by sem se chtel naucit vypis do tri a nebo ctyr sloupcu. Uz se s tim lopotim peknou dobu a porad ne a ne na to prijit..
Mohl by mi nekdo poradit co kde zmenit? Dekuji

echo "<table class='tabulka_download'>";
$i = 0;
$druhy = false;
while ($zaznam=MySQL_Fetch_Array($vysledek_down)) {
if ($i%2) $barva = "sudy";
else $barva = "lichy";
if (!$druhy) {
echo "<tr class='$barva'>";
}
echo ("<td id='td_pozadi'>".strip_tags($zaznam['popissouboru'])."</td>
<td id='nazev'><a href='download/".$zaznam['downloadsoubor']."'>".$zaznam['downloadsoubor']."</a></td>");
if ($druhy) {
echo "</tr>";
$druhy = !$druhy;
$i++;
} else $druhy = !$druhy;
}
if ($druhy) {echo "<td id='td_pozadi'></td></tr>";}
echo "</table>";
igamenir
Profil
Třeba takhle:
echo "<table class='tabulka_download'>"; 
$sloupcu = 3;
$i = 0; 
while ($zaznam=MySQL_Fetch_Array($vysledek_down)) { 
if ($i%$sloupce==0) echo "<tr class='".($i%$sloupcu%2?"sudy":"lichy")."'>"; 
echo ("<td id='td_pozadi'>".strip_tags($zaznam['popissouboru'])."</td> 
<td id='nazev'><a href='download/".$zaznam['downloadsoubor']."'>".$zaznam['downloadsoubor']."</a></td>"); 
$i++
if ($i%$sloupce==0) echo "</tr>";
}
if ($i%$sloupce) echo str_repeat("<td id='td_pozadi'></td>",$i%sloupce)."</tr>";
echo "</table>";

jen mě zaráží, že pro každý soubor vypíšeš dvě buňky (td_pozadi a td_nazev), ale při lichém pak doplníš jenom prázdné td_pozadi, ale už ne název. to jsi asi opomněl.
frantisek
Profil *
Tak jsem ten tvuj kod lehce poupravil asi jsi tam mel chybu ze jsi zamenil sloupce a sloupcu, ted uz mi to vypisuje do trech sloupcu ale zas se mi barevne nerozlisuji radky tak jako v tom mem scriptu, s tim nevis co mam udelat?

echo "<table class='tabulka_download'>";
$sloupcu = 2;
$i = 0;
while ($zaznam=MySQL_Fetch_Array($vysledek_down)) {
if ($i%$sloupcu==0) echo "<tr class='".($i%$sloupcu%2?"sudy":"lichy")."'>";
echo ("<td>".strip_tags($zaznam['popissouboru'])."</td>
<td><a href='download/".$zaznam['downloadsoubor']."'>".$zaznam['downloadsoubor']."</a></td>");
$i++;
if ($i%$sloupcu==0) echo "</tr>";
}
if ($i%$sloupcu) echo str_repeat("<td></td>",$i%$sloupcu)."</tr>";
echo "</table>";
igamenir
Profil
jo, to jsem napsal špatně, sorry
a ten řádek po while má být: (tam jsem měl tady chybu v úvaze)
if ($i%$sloupcu==0) echo "<tr class='".(floor($i/$sloupcu)%2?"sudy":"lichy")."'>";
frantisek
Profil *
Jo jo jo to je ono bezva diky.
Jeste jenom takova drobnost kdyby jsi mi mohl vysvetlit pro je tam jenom jednou zacatek radku <tr> ale ukoncen je dvakrat </tr> a jak udelat abych mohl mezi vypis jeste vlozit jeden prazdy radek. Jestli to teda lze
igamenir
Profil
první tr je společné
první /tr je při konci řádku
druhé /tr je při konci cyklu pokud nekončí řádek - aby se doplnilo td/td a /tr

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: