Autor Zpráva
jordan
Profil *
Zdravim lidičky, mám takový malý problém. Tento skript mám v adminu na výpis seznamu modulů, pokud mám dostatek dat pro sloupce tak funguje normálně.

Ale problém nastává když jsou moduly jen 2 v v poli $_params a ja chci vypisovat 3sloupcový layout. díky rovnoměrnému rozložení používám
style='width: " . (round(100 / $columns)) . "%'
který to pak při 2 záznamech ošklivě roztáhne jelikož, ten můj skript tam za dva moduly neda <td></td> a já nevím proč. Poradíte prosím

//pozadovany pocet sloupcu
$columns = 3
//
$position = 1;
$return = "<table id='dashboard' class='dashboard'>";

foreach ($_params as $mod)
{

    $return.=((1 === $position) ? "<tr class='dashboard-row'>" : "");
    $return.="<td class='dashboard-cell' style='width: " . (round(100 / $columns)) . "%'>\n";

    $return.="<div class='mod-container mod-{$mod['id']}'>"
            . "<img class='mod-icon' alt='module-icon' src='data:image/jpeg;base64,{$app_icon}' />"
            . "<div class='mod-data'>
<span class='mod-anchor mod-title'><a href='{$mod['link']}'>{$mod['name']}</a></span>
<span class='mod-description'>{$mod['description']}</span>
</div>
</div>";

    $return.= "</td>";

    if ($position === $columns)
    {
        $return.= "</tr> ";
        $position = 1;
    }
    else
    {
        ++$position;
    }
}

if ($position != 1)
{
    for ($z = ($columns - $position); $z > 0; --$z)
    {
        $return.= "<td></td>";
    }$return.= "</tr>";
}
$return.="</table>";

echo $return;
tiso
Profil
klasická chyba n+1, prepíš si ten for takto:
for ($z = $position; $z <= $columns; $z++)
jordan
Profil *
děkuji za odpověď, problém vyřešen

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: