maddie2120 Posted November 30, 2010 Share Posted November 30, 2010 Hi everyone, I'm having real problems trying to retrieve database records in a 3 column layout, I got there eventually with a huge amount of help. Unfortunately the code will only display records that are divisable by by three; for example for a database table that has 45 records there is no problem, as all records can be displayed in a 3 column layout. However if the table contains 47 records it won't display the 2 odd records. My php skills are limited so I need all the help I can get. I'm a bit desperate to sort this out for a project I'm doing, any help would be greatly appreciated - here is the php code: $total = count($records); $nocol = 3; $norows = $total / $nocol; for ($i=1; $i <= $norows; $i++) { $cell = 0; echo "<tr>"; for($col=1; $col <= $nocol; $col++) { echo "<td>"; if ($col == 1) { $cell += $i; echo '<strong class="navtext">'.$records[$cell - 1]['ret_name'].'</strong><br />'; echo $records[$cell - 1]['ret_add1'].'<br />'; echo $records[$cell - 1]['ret_add2'].'<br />'; echo $records[$cell - 1]['ret_town'].'<br />'; echo $records[$cell - 1]['ret_county'].'<br />'; echo $records[$cell - 1]['ret_pcode'].'<br />'; echo $records[$cell - 1]['ret_phone'].'<br />'; echo $records[$cell - 1]['ret_email'].'<br />'; echo $records[$cell - 1]['ret_web'].'<br />'; } else { $cell += $norows; echo '<strong class="navtext">'.$records[$cell - 1]['ret_name'].'</strong><br />'; echo $records[$cell - 1]['ret_add1'].'<br />'; echo $records[$cell - 1]['ret_add2'].'<br />'; echo $records[$cell - 1]['ret_town'].'<br />'; echo $records[$cell - 1]['ret_county'].'<br />'; echo $records[$cell - 1]['ret_pcode'].'<br />'; echo $records[$cell - 1]['ret_phone'].'<br />'; echo $records[$cell - 1]['ret_email'].'<br />'; echo $records[$cell - 1]['ret_web'].'<br />'; } echo"</td>"; } echo"</tr>"; } I'm also trying to paginate the results, is this actually possible when using a three column layout? I look forward to any suggestions. Link to comment https://forums.phpfreaks.com/topic/220225-using-a-three-column-layout-for-table-results/ Share on other sites More sharing options...
litebearer Posted November 30, 2010 Share Posted November 30, 2010 Perhaps this PHPFreaks snippet will help... http://www.phpfreaks.com/forums/faqcode-snippet-repository/multi-column-results/ Link to comment https://forums.phpfreaks.com/topic/220225-using-a-three-column-layout-for-table-results/#findComment-1141319 Share on other sites More sharing options...
maddie2120 Posted November 30, 2010 Author Share Posted November 30, 2010 Thank you for the link, the code looks really good unfortunately I need to use it in an array as in my original code, the code mentioned only has one column so I would need to create an array and I don't think I have the skills to do it. I also didn't understand how the '$product' variable would work as it didn't seem to be assigned anything - is that correct or is this just my lack of understanding, I have copied the code below from that forum thread written by: Ober Dated June 09 2006 (hope that's okay) <table cellspacing="3" cellpadding="3"> <?php $query = "SELECT product FROM selling_items ORDER BY prod_id"; $result = mysql_query($query) or die("There was a problem with the SQL query: " . mysql_error()); if($result && mysql_num_rows($result) > 0) { $i = 0; $max_columns = 3; while($row = mysql_fetch_array($result)) { // make the variables easy to deal with extract($row); // open row if counter is zero if($i == 0) echo "<tr>"; // make sure we have a valid product if($product != "" && $product != null) echo "<td>$product</td>"; // increment counter - if counter = max columns, reset counter and close row if(++$i == $max_columns) { echo "</tr>"; $i=0; } // end if } // end while } // end if results // clean up table - makes your code valid! if($i < $max_columns) { for($j=$i; $j<$max_columns;$j++) echo "<td> </td>"; } ?> </tr> </table> Any ideas as to how I could combine the two or if anyone could point me in the right direction I would be most grateful - many thanks Link to comment https://forums.phpfreaks.com/topic/220225-using-a-three-column-layout-for-table-results/#findComment-1141421 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.