Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: OrlOwner 06. 06. 2016, 12:01:21
-
Dobry den.
Generujem obrazok pomocov php a nasledne ho chcem replikovat xyz krat.
Tak aby obrazky boly v 2 stlpcoch ktore si zadefinujem.
Problem je ze ak som pouzil white - a v kazdom cykle chcem napriklad pridat +100px tak sa to cele "nepekne" roztiahne a ja to potrebujem v 2 stlpcoch po xy riadkoch
$howmuch = 1;
$serialnumbers = $a4;
$top_postion = 10;
$px = 'px';
$left = 10;
$left_counter = 1;
$serialnumber = $serialnumbers +1;
while($howmuch <= $a9) {
$topp = $top_postion.$px;
$leftp = $left.$px;
$datamatrixdata = $a1.$a2.$a3.$a8.$serialnumber.$a5.$a6;?>
<div class="barcode-block" style="position: absolute; top:<?php echo $topp;?>; left:<?php echo $leftp;?>; width:200px; height:25px">
<img src="/tmp/<?php echo $bc2d->getBarcodeFilenameFromGenPath($bc2d->getBarcodePNGPath($datamatrixdata, 'datamatrix', 4, 4)) ?>" alt="Inno4Life" >
<h2><?php echo $serialnumber;?></h2>
</div>
<?php
$howmuch++;
$serialnumber++;
$top_postion = $top_postion +100;
$left = $left +300;
}
-
Chceš-li dva sloupce, tak musíš přidat podmínku, kdy při dělení dvěma beze zbytku (nebo se zbytkem 1, podle toho, jestli počítáš od nuly nebo jedničky) zalomí řádek a vynuluje offset.
Takže budeš dělat:
while (podmínka)
if (pocitadlo%2 == 0)
offset = 0
vlož obrázek
else
offset = 100
vlož obrázek
zalomit řádek
Rozumíme si?
EDIT: Ještě dodávám - pokud bdueš mít připravený místo na stránce pro tyhle obrázky (tzn. danou šířku), nemusíš zalamovat řádek. Tak jako tak ale musíš rozlišovat levej a pravej obrázek a dělat jim offsety jak je třeba.
-
No snazim chapat ale stale mi to nejde do 2 stlpcov.
Resp. stacia mi 2 stlpce kde si pre kazdy budem len pridavat vzdialenost od okraja tabulky.
Bohuzial zatial sa mi nepodarilo donutit script vypisovat data do 2 stlpcov
$res = 0;
$counter = 0;
while ($res <= $a9){
{
if ( $counter==0 ) {
echo "<table>";
// table header
echo "<tr>" ;
{
echo "<th>
</th>" ;
}
echo "</tr>" ;
$counter = 2;
}
// table body
echo "<tr>";
{
echo "<td>
<img src='/tmp/".$bc2d->getBarcodeFilenameFromGenPath($bc2d->getBarcodePNGPath($datamatrixdata, 'datamatrix', 4, 4))." 'alt='I' >
<h2>".$serialnumber."</h2></td>" ;
}
echo "</tr>" ;
}
// closing table
echo "</table>" ;
// return
$res ++;
$counter ++;
}
-
V tom Tebou poslanym kódu máš nějak moc složených závorek. V čem píšeš kód? Zkus program, kterej Ti označuje uzavřený cykly (tzn. počáteční a konečnou závorku).
Zkusím opět pseudokód
get data
pocitadlo = 1
while (mame co zobrazovat?)
if (pocitadlo%2 == 1)
zobraz levy obrazek
else
zobraz pravy obrazek
pocitadlo++
konec while
Když do toho přidáme strukturu tabulky
<table>
get data
pocitadlo = 1
while (mame co zobrazovat?)
if (pocitadlo%2 == 1)
<tr>
<td>zobraz levy obrazek</td>
else
<td>zobraz pravy obrazek</td>
</tr>
pocitadlo++
konec while
</table>
Pokud máš pro každej řádek novou tabulku, tak to bude trochu jinak
get data
pocitadlo = 1
while (mame co zobrazovat?)
if (pocitadlo%2 == 1)
<table>
<tr>
<td>zobraz levy obrazek</td>
else
<td>zobraz pravy obrazek</td>
</tr>
</table>
pocitadlo++
konec while
-
Super ted priklad v strede pomohol.
Viac nasobna vdaka.
-
Np, každej nějak začínal ;-)