Autor Zpráva
KarelEben
Profil
Zdravím,
mám problémek, potřebuji generovat html tabulku z DB. V modelu si sestavuji 2 dimenzionalní pole $tabulka[radky][sloupce]
viz [img]postimg.org/image/vedjgq5dt [/img]

kde x je sloupce a y je řádek (nečekaně) potřebuji však aby šlo dělat i colspan(w) a rowspan(h)
avšak nevím jak to správně generovat v latte šabloně skoušel jsem kod




 <table>
        {var $lenghtY = $template->length($tabulka)}
        {for $y=0; $y < 100; $y++}
            {ifset $tabulka[$y]}
            <tr>
                
                    {var $lenghtX = $template->length($tabulka[$y])}
                    {for $x=0; $x < 100; $x++}
                        {ifset $tabulka[$y][$x]}
                        <td colspan="{$tabulka[$y][$x]->w}" rowspan="{$tabulka[$y][$x]->h}" class="clell">
                            {var $y = $y + $tabulka[$y][$x]->h}
                            {var $x = $x + $tabulka[$y][$x]->w}
                            {$tabulka[$y][$x]->content}
                            X
                        </td>
                        {else}
                            <td>
                                .
                            </td>
                        {/ifset}
                    {/for}
                
            </tr>
            {else}
                <tr><td>.</td></tr>
            {/ifset}
        {/for}
    </table>

Avšak marně. Bohužel to vypisuje chybně.

Ještě můj model:
public function getConceptPartsForRedraw($uid){
        $table;
        $reusltFromDB = $this->database->table("part_concept")->where("mail_id = ?", $uid);
        foreach($reusltFromDB as $result){
            $insideArray = new \stdClass();
            $insideArray->x = $result->x/5;
            $insideArray->y = $result->y/5;
            $insideArray->w = $result->w/5;
            $insideArray->h = $result->h/5;
            $insideArray->content = $result->content;
            $insideArray->link = $result->link;
            $insideArray->id = $result->id;
            $insideArray->type = $result->type;
            $table[$result->y/5][$result->x/5] = $insideArray;
        }
        
        return $table;
    }
Alphard
Profil
Jak chybně? Odpověď by usnadnil lepší popis problému.
V rychlosti se mi zdá, že to má k funkčnímu výsledku docela blízko. Zřejmě bude třeba odstranit podmínku na 4. řádku, ty buňky se tam musí vypsat i kdyby byly všechny prázdné (jinak se neprojeví rowspan, nahrazovat jedinou buňkou je blbost). A pak by to snad i mohlo fungovat.

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:

0