AF_staff |
06-08-2011 02:09 PM |
Help in coding multicolumn table output
Hi everyone,
I would like to fetch data from the database and output it to a multicolumn table. Here is the php code:
Code:
<?php
$columns = 3;
mysql_connect('localhost','root','root');
mysql_select_db('forum2');
$query = "SELECT item_id FROM VB4_afshop_stock ORDER BY item_id";
$result = mysql_query($query);
$num_rows = mysql_num_rows($result);
echo "<TABLE>\n";
for($i = 0; $i< $num_rows; $i++) {
$row = mysql_fetch_array($result);
if($i % $columns == 0) {
echo "<TR>\n";
}
echo "<TD>" . $row['item_id'] . "</TD>\n";
if(($i % $columns) == ($columns - 1) || ($i + 1) == $num_rows) {
//if there is a remainder of 1, end the row
//or if there is nothing left in our result set, end the row
echo "</TR>\n";
}
}
echo "</TABLE>";
?>
My Vbulletin code is:
Code:
$inv_row = $db->query("select s.*,i.*
from " . TABLE_PREFIX . "afshop_stock s
left join " . TABLE_PREFIX . "afshop_items i on(i.item_id=s.item_id)
where s.member_id='{$vbulletin->userinfo['userid']}' order by s.order_id");
$columns = 3;
$num_rows=$db->num_rows($inv_row);
for($i=0; $i<$num_rows; $i++){
$item=$db->fetch_array($inv_row);
if($i%$columns==0)
{
$templater = vB_Template::create('afshop_viewm_trtop');
$afshop_viewm_trtop = $templater->render();
}
$templater = vB_Template::create('afshop_viewm_items');
$templater->register('item_img', $item['item_img']);
$templater->register('item_name', $item['item_name']);
$afshop_viewm_items .= $templater->render();
}
if(($i % $columns) == ($columns - 1) || ($i + 1) == $num_rows){
$templater = vB_Template::create('afshop_viewm_trbottom');
$afshop_viewm_trbottom = $templater->render();
}
$templater = vB_Template::create('afshop_viewm');
$templater->register('afshop_viewm_trtop', $afshop_viewm_trtop);
$templater->register('afshop_viewm_trbottom', $afshop_viewm_trbottom);
$templater->register('afshop_viewm_items', $afshop_viewm_items);
$afshop_viewm = $templater->render();
I am having problems with the red text. I don't know if I am doing it correctly. The trtop template has the <TR> in it and trbottom has the closing </TR> tag.
When I check the output, the trtop and trbottom are not rendering correctly. I might be missing something which I am unaware of. Any comment/idea is greatly appreciated.
Thanks in advance!
|