Need Help Converting Database Query into a Model and Output to a View

by 4 replies
5
The query is:


PHP Code:
<?php
//Set default number of columns
//GET CATEGORIES

$numCols = 2;
$count = 0;

$result = mysql_query("SELECT * FROM categories");

//Count number of rows and divide into 2
$numPerCol = ceil(mysql_num_rows($result) / $numCols);
echo 
"<div style=\"width:369px;\">\n";
for(
$col = 1; $col <= $numCols; $col++) {
    echo 
"<div style=\"width:46.7%;float:right;margin-left:5px;\">";
    for(
$row = 0; $row < $numPerCol; $row++) {
        
$resultRow = mysql_fetch_assoc($result);
        if(
$resultRow == false) {
            break;
        }


//Convert data
        
$title = $resultRow['title'];
        
$id = $resultRow['id'];
        
$url = $resultRow['url'];

//Output data
        
echo "<h3>$title</h3>";

//Get subcategories
        
$resultb = mysql_query("SELECT * FROM cat_objects WHERE parent_id = '$id' LIMIT 5");

//Check if no results
        
if(mysql_num_rows($resultb)==0){
            
$message = "There are no subcategories";
        }

//There are results, get data
        
else
        {
            
$message = "<a href=\"categories/\" title=\"View All Categories\">...</a>";
        }
        while(
$rowb = mysql_fetch_array($resultb))

//Add comma to all but last result
        
{
            if (
$count++ > 0) echo " ";
            
$titleb = $rowb['title'];
            
$urlb = $rowb['url'];
            
$sid = $rowb['id'];
            echo 
"<a href=\"categories/cat.php?id=$sid\" title=\"$titleb\">$titleb</a>";
        }
        echo 
"$message";
    }
    echo 
"\n</div>\n";
}
echo 
"</div>\n";

?>
I'm really struggling to put it into a model as I've no idea how to convert some of the functions such as this section:

PHP Code:
//Count number of rows and divide into 2
$numPerCol = ceil(mysql_num_rows($result) / $numCols);
echo 
"<div style=\"width:369px;\">\n";
for(
$col = 1; $col <= $numCols; $col++) {
    echo 
"<div style=\"width:46.7%;float:right;margin-left:5px;\">";
    for(
$row = 0; $row < $numPerCol; $row++) {
        
$resultRow = mysql_fetch_assoc($result);
        if(
$resultRow == false) {
            break;
        } 
If anybody could help me convert the whole query into a model and pass it through the controller and to the view that would be awesome! Thanks.
#programming #converting #database #model #query
  • Seems your function has its own output. Data are selected from DB (by categories), then for each category (by subcategories) and echoed to the screen.

    What is your purpose? Are you trying to fit under your website design or you need some custom output?
    • [1] reply
    • The website was originally coded procedural, I've since started to learn OOP and want to integrate the website into the CodeIgniter framework.

      The code I posted was the old version, I now need to convert this to object orientated passing it through the MVC framework.

      I need somebody to help me put the actual database code into the model and pull it back out in the view.
      • [1] reply