Problem:
I have a table that prints out vertical but I would like it to print horizontal instead. Anyone who can give guidance on how this can be achieved?
PHP code:
echo '
<table class="table table-condensed table-bordered neutralize">
<tbody>
<tr>
<td><b>Kriterium</td>
<td><b>Betyg</td>
</tr>
';
while ($row = mysql_fetch_assoc($result))
{
echo '
<tr>
<td>'.$i.'</td>
<td>'.$row['RID'].'</td>
</tr>
';
$i++;
}
echo '
</tbody>
</table>
';
Current output:
Desired output:
Loop through your query results first building up the two rows that you want and then add them into your table afterwards:
$kriterium = '';
$betyg = '';
while ($row = mysql_fetch_assoc($result))
{
$kriterium .= '<td>'.$i.'</td>';
$betyg .= '<td>'.$row['RID'].'</td>';
$i++;
}
echo '
<table class="table table-condensed table-bordered neutralize">
<tbody>
<tr>
<td><b>Kriterium</td>'.$kriterium .'
</tr>
<tr>
<td><b>Betyg</td>'.$betyg .'
</tr>
</tbody>
</table>
';
You can collect data in two dimensional array and later reuse this array to build output in different formats:
$rows = array();
$index = 0;
while ($row = mysql_fetch_assoc($result))
$rows[0][] = ++$index;
$rows[1][] = $row['RID'];
}
$table = '<table class="table table-condensed table-bordered neutralize">
<tbody>
<tr><td><b>Kriterium</b></td><td>%s</td></tr>
<tr><td><b>Betyg</b></td><td>%s</td></tr>
</tbody>
</table>';
printf(
$table,
implode('</td><td>', $rows[0]),
implode('</td><td>', $rows[1])
);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With