Autor Zpráva
Monkeys
Profil *
Uz 2 hodiny rozmyslam kao vygenerovat takuto tabulku v php
nemate niekto napad ?

<table>
<tr>
<td rowspan="3">Datum</td>      
<td>Jablcka</td><td>6</td>       
<td rowspan="3">10</td>          
<td rowspan="3">Mame</td>     
</tr>

<tr>
<td>Hrusky</td>
<td>4</td>
</tr>

<tr>
<td>Jablcka</td>
<td>6</td>
</tr>
</table>

M:
tiso
Profil
Máme, ale záleží to od toho, kde a ako získavaš tie dáta pre obsah tabuľky.
Monkeys
Profil *
while($row=$controler->tovar->fetch_assoc()){
if($row['poloziek'] == 1){
echo '<tr><td>'.$row['ID'].'</td><td>'.$row['tovar'].'</td><td>'.$row['kusy'].'</td><td>'.$row['celkom'].' €</td><td><input type="checkbox" value"" /></td></tr>' . "\n";
}elseif($row['poloziek'] > 1){
echo '<tr>
<td rowspan="'.$row['poloziek'].'">'.$row['ID'].'</td>
<td rowspan="'.$row['poloziek'].'">'.$row['celkom'].' €</td>
<td rowspan="'.$row['poloziek'].'"><input type="checkbox" value"" /></td></tr>' . "\n";
echo '<tr><td>'.$row['tovar'].'</td><td>'.$row['kusy'].'</td></tr>';
echo '<tr><td>'.$row['tovar'].'</td><td>'.$row['kusy'].'</td></tr>';}
}//end while

jednoriadkove su v pohode ale problem je v tom vyznacenom kode tam to asi blbne

M.
tiso
Profil
skús toto:
$i = 0;
while($row=$controler->tovar->fetch_assoc()){
    $i++;
    if($row['poloziek'] == 1){
        echo '<tr><td>'.$row['ID'].'</td><td>'.$row['tovar'].'</td><td>'.$row['kusy'].'</td><td>'.$row['celkom'].' €</td><td><input type="checkbox" name="" value="" /></td></tr>' . "\n";
    }
    else if($i = 1){
        echo '<tr><td rowspan="'.$row['poloziek'].'">'.$row['ID'].'</td><td>'.$row['tovar'].'</td><td>'.$row['kusy'].'</td><td rowspan="'.$row['poloziek'].'">'.$row['celkom'].' €</td><td rowspan="'.$row['poloziek'].'"><input type="checkbox" name="" value="" /></td></tr>' . "\n";
    } 
    else {
        echo '<tr><td>'.$row['tovar'].'</td><td>'.$row['kusy'].'</td></tr>' . "\n";
    }
    if($row['poloziek'] == $i) {
        $i = 0;
    }
}
nezabudni si dokončiť tie checkboxy (name, value, prípadne i checked)
mzk
Profil *
tiso:
else if($i == 1){
máš tam malej překlep ;-)

jinak pro přehlednost bych to raději psal raději nějak tak..
echo 
     '<tr>
        <td rowspan="'.$row['poloziek'].'">'.$row['ID'].'</td>
        <td>'.$row['tovar'].'</td>
    </tr>' . "\n";
a snažil bych se vyhnout duplicitám v kódu pomocí ($i == xx ? jo : ne) - přijde mi to přehlednější (ale to je věc názoru)
Monkeys
Profil *
tiso:
dik ale nepomohlo

nakoniec som to vyriesil takto:

$i=1;
while($row=$controler->tovar->fetch_assoc()){
if($row['poloziek'] == 1){
 echo '<tr><td>'.$row['ID'].'</td><td>'.$row['tovar'].'</td><td>'.$row['kusy'].'</td><td>'.$row['celkom'].' €</td><td><input type="checkbox" name="" value="" /></td></tr>' . "\n";
}elseif($row['poloziek'] > 1){
if($i%$row['poloziek'] == 1){
echo '<tr>
<td rowspan="'.$row['poloziek'].'">'.$row['ID'].'</td><td>'.$row['tovar'].'</td><td>'.$row['kusy'].'</td>
<td rowspan="'.$row['poloziek'].'">'.$row['celkom'].' €</td>
<td rowspan="'.$row['poloziek'].'" >"><input type="checkbox" name="" value="" /></td>
</tr>' . "\n";
}
if($i != 1){
echo '<tr><td>'.$row['tovar'].'</td><td>'.$row['kusy'].'</td></tr>' . "\n";
}
}
if($row['poloziek'] != $i){
$i++;
}else{
$i=1;    
}
}//end while

M.
pcmanik
Profil
Monkeys:
Skús kód viac štruktorovať, už takto je to dosť ťažko čitateľné, nie ešte keď sa k tomu po pár mesiacoch vrátiš.

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: