put query inside a function in php

  • northstjarna
  • Beginner
  • Beginner
  • northstjarna
  • Posts: 58
  • Loc: Chertsey, UK

Post 3+ Months Ago

Hi there trying to put a query inside a function not sure its possible to do this in php. Can do it in coldfusion.
Basically I want to call a recursive query that is selectable via some id.

Code: [ Select ]
function getmenu($menu_id){
    /* get the top most level menu */
    mysql_select_db($database_eggbox, $eggbox);
    $query_top_menu = "select * from menu where menu_parent_menu_id = $menu_id";
    $top_menu = mysql_query($query_top_menu, $eggbox) or die(mysql_error());
    $row_top_menu = mysql_fetch_assoc($top_menu);
    $totalRows_top_menu = mysql_num_rows($top_menu);

    /* loop and echo */

}

getmenu(0);
  1. function getmenu($menu_id){
  2.     /* get the top most level menu */
  3.     mysql_select_db($database_eggbox, $eggbox);
  4.     $query_top_menu = "select * from menu where menu_parent_menu_id = $menu_id";
  5.     $top_menu = mysql_query($query_top_menu, $eggbox) or die(mysql_error());
  6.     $row_top_menu = mysql_fetch_assoc($top_menu);
  7.     $totalRows_top_menu = mysql_num_rows($top_menu);
  8.     /* loop and echo */
  9. }
  10. getmenu(0);


Its telling me that I can't do this inside a function.

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in Library....

How would I be able to achieve this? Maybe in a class?

Any help thanks

Andi
  • joebert
  • Fart Bubbles
  • Genius
  • User avatar
  • Posts: 13504
  • Loc: Florida

Post 3+ Months Ago

You need to use the "global" keyword to make the $database_eggbox and other relevant variables visible inside the function.

PHP Code: [ Select ]
function getmenu($menu_id)
{
  global $database_eggbox, $eggbox;
  // ...
}
  1. function getmenu($menu_id)
  2. {
  3.   global $database_eggbox, $eggbox;
  4.   // ...
  5. }


Or, pass the relevant variables as arguments in the function.

PHP Code: [ Select ]
function getmenu($menu_id, $database_eggbox, $eggbox){}
  • northstjarna
  • Beginner
  • Beginner
  • northstjarna
  • Posts: 58
  • Loc: Chertsey, UK

Post 3+ Months Ago

Of course now.... Got it working...

Code: [ Select ]
    mysql_select_db($database_eggbox, $eggbox);
        
        
    

    
    function getmenu($menu_id){
        
        
        /* get the top most level menu */
        global $database_eggbox, $eggbox;
        $query_top_menu = "select * from menu where menu_parent_menu_id = $menu_id";
        $top_menu = mysql_query($query_top_menu, $eggbox) or die(mysql_error());
        $row_top_menu = mysql_fetch_assoc($top_menu);
        $totalRows_top_menu = mysql_num_rows($top_menu);
        
        
        
        do {
          echo $row_top_menu['menu_text'];
        } while ($row_top_menu = mysql_fetch_assoc($top_menu));

    }
  1.     mysql_select_db($database_eggbox, $eggbox);
  2.         
  3.         
  4.     
  5.     
  6.     function getmenu($menu_id){
  7.         
  8.         
  9.         /* get the top most level menu */
  10.         global $database_eggbox, $eggbox;
  11.         $query_top_menu = "select * from menu where menu_parent_menu_id = $menu_id";
  12.         $top_menu = mysql_query($query_top_menu, $eggbox) or die(mysql_error());
  13.         $row_top_menu = mysql_fetch_assoc($top_menu);
  14.         $totalRows_top_menu = mysql_num_rows($top_menu);
  15.         
  16.         
  17.         
  18.         do {
  19.           echo $row_top_menu['menu_text'];
  20.         } while ($row_top_menu = mysql_fetch_assoc($top_menu));
  21.     }


Just need a bit more code to get it working recursively now ;o)

Thanks for your help
  • joebert
  • Fart Bubbles
  • Genius
  • User avatar
  • Posts: 13504
  • Loc: Florida

Post 3+ Months Ago

Now that the question is answered, I should probably mention that using a query recursively isn't usually a good thing to do.

It looks like you're building a hierarchy, which can be done with one query and two loops, if you use an item_id for your array keys and references to turn a single-dimensional array into a virtual multi-dimensional array.

This is taken from another site so it's not going to match up with your code, but hopefully the concept here is easy to see. :)

PHP Code: [ Select ]
$category_lineage = array();
 
$result = $db->query('SELECT category_id, parent_id, label FROM ' . CATEGORIES_TABLE, MYSQLI_USE_RESULT);
while($row = $result->fetch_object())
{
   $row->sub_categories = array();
   $category_lineage[$row->category_id] = $row;
}
$result->close();
 
foreach($category_lineage as $key => $val)
{
   if($val->parent_id)
   {
      $category_lineage[$val->parent_id]->sub_categories[$key] =& $category_lineage[$key];
   }
}
  1. $category_lineage = array();
  2.  
  3. $result = $db->query('SELECT category_id, parent_id, label FROM ' . CATEGORIES_TABLE, MYSQLI_USE_RESULT);
  4. while($row = $result->fetch_object())
  5. {
  6.    $row->sub_categories = array();
  7.    $category_lineage[$row->category_id] = $row;
  8. }
  9. $result->close();
  10.  
  11. foreach($category_lineage as $key => $val)
  12. {
  13.    if($val->parent_id)
  14.    {
  15.       $category_lineage[$val->parent_id]->sub_categories[$key] =& $category_lineage[$key];
  16.    }
  17. }
  • northstjarna
  • Beginner
  • Beginner
  • northstjarna
  • Posts: 58
  • Loc: Chertsey, UK

Post 3+ Months Ago

Hi There when I meant recursive I meant like this.... ;o)

top level
sub level
sub sub level
sub level
top level

This works although I do not know if it is the most efficient way of doing it.


Code: [ Select ]

function getmenu($menu_level){
        
        /* get the top most level menu */
        global $database_eggbox, $eggbox;
        $query_top_menu = "select * from menu where menu_parent_menu_id = 0 order by menu_display_order";
        $top_menu = mysql_query($query_top_menu, $eggbox) or die(mysql_error());
        $row_top_menu = mysql_fetch_assoc($top_menu);
        $totalRows_top_menu = mysql_num_rows($top_menu);
    
        if ($menu_level <> 0) {
                            
            echo "<ul>";
                             
            do {
             
              echo "<li><a href='index.php?' title='opens in same window' target='_self' >" . $row_top_menu['menu_text'] . "</a>";
                $menuid = $row_top_menu['menu_id'];
                $query_has_children = "select * from menu where menu_parent_menu_id = $menuid order by menu_display_order";
                $has_children = mysql_query($query_has_children, $eggbox) or die(mysql_error());
                $row_has_children = mysql_fetch_assoc($has_children);
                $totalRows_has_children = mysql_num_rows($has_children);
                if($totalRows_has_children > 0){
                    
                    getchildren($menuid,0);     
             
                  } else {
                    echo "</li>";
                }
            } while ($row_top_menu = mysql_fetch_assoc($top_menu));
                
                
            echo "</ul>";
        
        } elseif ($menu_level == 0) {
                        
            echo "<ul>";
                             
            do {
             
              echo "<li><a href='index.php?' title='opens in same window' target='_self' >" . $row_top_menu['menu_text'] . "</a></li>";
            
            } while ($row_top_menu = mysql_fetch_assoc($top_menu));
            
            echo "</ul>";
        }

    } // End Function


    function getchildren ($menuid,$count) {
                    
        /* get the next level menu */
        global $database_eggbox, $eggbox;
        $query_child_menu = "select * from menu where menu_parent_menu_id = $menuid order by menu_display_order";
        $child_menu = mysql_query($query_child_menu, $eggbox) or die(mysql_error());
        $row_child_menu = mysql_fetch_assoc($child_menu);
        $totalRows_child_menu = mysql_num_rows($child_menu);      
                        
        
        do {
        
            if($count == 0) {
                echo "<ul>";
            }
        
            echo "<li><a href='index.php?' title='opens in same window' target='_self' >" . $row_child_menu['menu_text'] . "</a>";
            $menuidd = $row_child_menu['menu_id'];
            $query_has_childrens = "select * from menu where menu_parent_menu_id = $menuidd order by menu_display_order";
            $has_childrens = mysql_query($query_has_childrens, $eggbox) or die(mysql_error());
            $row_has_childrens = mysql_fetch_assoc($has_childrens);
            $totalRows_has_childrens = mysql_num_rows($has_childrens);
                
            if($totalRows_has_childrens > 0){
                    
                    getchildren($menuidd,0);
                
            } else {
                "</li>";
            }            
    
            if($count+1 == $totalRows_child_menu) {
                echo "</ul>";
            }
        
            $count += 1;        
        } while ($row_child_menu = mysql_fetch_assoc($child_menu));        
                        
    } // end function
  1. function getmenu($menu_level){
  2.         
  3.         /* get the top most level menu */
  4.         global $database_eggbox, $eggbox;
  5.         $query_top_menu = "select * from menu where menu_parent_menu_id = 0 order by menu_display_order";
  6.         $top_menu = mysql_query($query_top_menu, $eggbox) or die(mysql_error());
  7.         $row_top_menu = mysql_fetch_assoc($top_menu);
  8.         $totalRows_top_menu = mysql_num_rows($top_menu);
  9.     
  10.         if ($menu_level <> 0) {
  11.                             
  12.             echo "<ul>";
  13.                              
  14.             do {
  15.              
  16.               echo "<li><a href='index.php?' title='opens in same window' target='_self' >" . $row_top_menu['menu_text'] . "</a>";
  17.                 $menuid = $row_top_menu['menu_id'];
  18.                 $query_has_children = "select * from menu where menu_parent_menu_id = $menuid order by menu_display_order";
  19.                 $has_children = mysql_query($query_has_children, $eggbox) or die(mysql_error());
  20.                 $row_has_children = mysql_fetch_assoc($has_children);
  21.                 $totalRows_has_children = mysql_num_rows($has_children);
  22.                 if($totalRows_has_children > 0){
  23.                     
  24.                     getchildren($menuid,0);     
  25.              
  26.                   } else {
  27.                     echo "</li>";
  28.                 }
  29.             } while ($row_top_menu = mysql_fetch_assoc($top_menu));
  30.                 
  31.                 
  32.             echo "</ul>";
  33.         
  34.         } elseif ($menu_level == 0) {
  35.                         
  36.             echo "<ul>";
  37.                              
  38.             do {
  39.              
  40.               echo "<li><a href='index.php?' title='opens in same window' target='_self' >" . $row_top_menu['menu_text'] . "</a></li>";
  41.             
  42.             } while ($row_top_menu = mysql_fetch_assoc($top_menu));
  43.             
  44.             echo "</ul>";
  45.         }
  46.     } // End Function
  47.     function getchildren ($menuid,$count) {
  48.                     
  49.         /* get the next level menu */
  50.         global $database_eggbox, $eggbox;
  51.         $query_child_menu = "select * from menu where menu_parent_menu_id = $menuid order by menu_display_order";
  52.         $child_menu = mysql_query($query_child_menu, $eggbox) or die(mysql_error());
  53.         $row_child_menu = mysql_fetch_assoc($child_menu);
  54.         $totalRows_child_menu = mysql_num_rows($child_menu);      
  55.                         
  56.         
  57.         do {
  58.         
  59.             if($count == 0) {
  60.                 echo "<ul>";
  61.             }
  62.         
  63.             echo "<li><a href='index.php?' title='opens in same window' target='_self' >" . $row_child_menu['menu_text'] . "</a>";
  64.             $menuidd = $row_child_menu['menu_id'];
  65.             $query_has_childrens = "select * from menu where menu_parent_menu_id = $menuidd order by menu_display_order";
  66.             $has_childrens = mysql_query($query_has_childrens, $eggbox) or die(mysql_error());
  67.             $row_has_childrens = mysql_fetch_assoc($has_childrens);
  68.             $totalRows_has_childrens = mysql_num_rows($has_childrens);
  69.                 
  70.             if($totalRows_has_childrens > 0){
  71.                     
  72.                     getchildren($menuidd,0);
  73.                 
  74.             } else {
  75.                 "</li>";
  76.             }            
  77.     
  78.             if($count+1 == $totalRows_child_menu) {
  79.                 echo "</ul>";
  80.             }
  81.         
  82.             $count += 1;        
  83.         } while ($row_child_menu = mysql_fetch_assoc($child_menu));        
  84.                         
  85.     } // end function


Thanks for your insight though...
  • joebert
  • Fart Bubbles
  • Genius
  • User avatar
  • Posts: 13504
  • Loc: Florida

Post 3+ Months Ago

Yeah, I see what you're doing. You seem to be on some sort of deadline though, meaning you don't have time to rework anything, so I wont waste either of our time talking into one ear and out the other. :)
  • northstjarna
  • Beginner
  • Beginner
  • northstjarna
  • Posts: 58
  • Loc: Chertsey, UK

Post 3+ Months Ago

NO not on a deadline just trying to get things to work nicely...
  • joebert
  • Fart Bubbles
  • Genius
  • User avatar
  • Posts: 13504
  • Loc: Florida

Post 3+ Months Ago

Why are you brushing what I have to say off ?

Quote:
Thanks for your insight though...


What are the ellipsis in to substitute for ?

Quote:
Thanks for your insight though, [you moron]

Quote:
Thanks for your insight though, [but I don't understand something]

Quote:
Thanks for your insight though, [lets see how long I can troll you]


What are your intentions !
  • northstjarna
  • Beginner
  • Beginner
  • northstjarna
  • Posts: 58
  • Loc: Chertsey, UK

Post 3+ Months Ago

Hi there,

I'm a coldsufion developer so my php skills have become a bit ropey I'm afraid...
My original question was how to put a query inside a function. You kindly showed me how to do that so thanks.

Quote:
Why are you brushing what I have to say off ?

Sorry I'm not brushing off what you said. I was mearly thanking you. I can see what you were doing and that is helpful as I may try that..

Quote:
What are the ellipsis in to substitute for ?

I'll post the whole code up later so you can see. Don't have it with me right now, and I'm still working on it... I now have to make the menu collapsable and expandable which is the next tricky thing.

I am the moron yes... :O)
  • northstjarna
  • Beginner
  • Beginner
  • northstjarna
  • Posts: 58
  • Loc: Chertsey, UK

Post 3+ Months Ago

Ok Baby Cakes I promised you the code but the broadband went down. But here is everything finally... Fully recursive collapsable menu system. If you think I can improve on it then please let me know as I still think there is a better way to do it. My php skills are still pretty ropey as I come from a CF background... but ho hum here it is...

Code: [ Select ]
mysql_select_db($database_eggbox, $eggbox);

/* get the home page at start*/
$query_default_url = "select * from menu where menu_text = 'Home' order by menu_display_order";
$default_url = mysql_query($query_default_url, $eggbox) or die(mysql_error());
$row_default_url = mysql_fetch_assoc($default_url);
$totalRows_default_url = mysql_num_rows($default_url);

if (isset($_GET['menu_id'])) {
    $urlmenu_id = $_GET['menu_id'];
} else {
    $urlmenu_id = $row_default_url['menu_id'];
}



///////////////////////////////////////////////////////////////
/////////////////////* functions */////////////////////////////
///////////////////////////////////////////////////////////////

if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
 $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

 $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

 switch ($theType) {
  case "text":
   $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
   break;  
  case "long":
  case "int":
   $theValue = ($theValue != "") ? intval($theValue) : "NULL";
   break;
  case "double":
   $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
   break;
  case "date":
   $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
   break;
  case "defined":
   $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
   break;
 }
 return $theValue;
}
}

/* get breadcrumb function */
function getbreadcrumb($arraycount,$parentmenuid){
    
    /* get the current level menu */
    global $database_eggbox, $eggbox, $urlmenu_id, $array_menu;
    $query_last_breadcrumb = "select * from menu where menu_id = $parentmenuid order by menu_display_order";
    $last_breadcrumb = mysql_query($query_last_breadcrumb, $eggbox) or die(mysql_error());
    $row_last_breadcrumb = mysql_fetch_assoc($last_breadcrumb);
    $totalRows_last_breadcrumb = mysql_num_rows($last_breadcrumb);
    
    $array_menu[$arraycount][0] = $row_last_breadcrumb['menu_id'];
    $array_menu[$arraycount][1] = $row_last_breadcrumb['page_id'];
    $array_menu[$arraycount][2] = $row_last_breadcrumb['menu_text'];
    $array_menu[$arraycount][3] = $row_last_breadcrumb['menu_parent_menu_id'];
    
    if($array_menu[$arraycount][0] != "") {
        getbreadcrumb($arraycount+1,$array_menu[$arraycount][3]);
    }
    
    if($arraycount == count){
        echo $array_menu[$arraycount][2];
    } else {
        $menuid = $array_menu[$arraycount][0];
        echo "<li><a href='index.php?menu_id=$menuid' title='opens in same window' target='_self' >" . $array_menu[$arraycount][2] . "</a> : </li>";
    }
    mysql_free_result($last_breadcrumb);
} // end function


/* get menu functions */
function getmenu($menu_level,$menuid){
        
    /* get the top most level menu */
    global $database_eggbox, $eggbox, $urlmenu_id, $array_menu;
    $query_top_menu = "select * from menu where menu_parent_menu_id = $menuid and menu_display = 1 order by menu_display_order";
    $top_menu = mysql_query($query_top_menu, $eggbox) or die(mysql_error());
    $row_top_menu = mysql_fetch_assoc($top_menu);
    $totalRows_top_menu = mysql_num_rows($top_menu);
    
    
    if ($menu_level == 0) { // Top menu for nav bar only
                    
        echo "<ul>";
                         
        do {
              $menuid = $row_top_menu['menu_id'];
            if($urlmenu_id == $menuid) {
                $selectedclass = "class='selected'";
            } else {
                $selectedclass = "";
            }
            
              if($row_top_menu['menu_alt_location'] != "") {
                // Alternative location like google
                  if(substr($row_top_menu['menu_alt_location'],0,4) == "http") { $menuurl = $row_top_menu['menu_alt_location']; } else { $menuurl = "http://" . $row_top_menu['menu_alt_location'];}
                  $title = "opens in new window";
                $target = "_blank";                
              } else {
                  // site menu
                $menuurl = "index.php?menu_id=$menuid";
                  $title = "opens in same window";
                $target = "_self";
            } // End if
            
            echo "<li><a href='$menuurl' title='$target' target='$target' $selectedclass >" . $row_top_menu['menu_text'] . "</a></li>";
            
        } while ($row_top_menu = mysql_fetch_assoc($top_menu));
        
        echo "</ul>";
    
    
    } elseif ($menu_level == 1) {
            
            if($totalRows_top_menu > 0) { // full side menu and you don't want a top menu
                    
                echo "<ul>";
                $count = 0;    
                
                do {
                  $menuid = $row_top_menu['menu_id'];
                  if($urlmenu_id == $menuid) {
                        $selectedclass = "class='selected'";
                    } else {
                        $selectedclass = "";
                    }
                 
                  if($row_top_menu['menu_alt_location'] != "") {
                        // Alternative location like google
                        if(substr($row_top_menu['menu_alt_location'],0,4) == "http") { $menuurl = $row_top_menu['menu_alt_location']; } else { $menuurl = "http://" . $row_top_menu['menu_alt_location'];}
                        $title = "opens in new window";
                        $target = "_blank";                
                    } else {
                        // Site menu
                        $menuurl = "index.php?menu_id=$menuid";
                        $title = "opens in same window";
                        $target = "_self";
                    } // End if
                 
                  echo "<li><a href='$menuurl' title='$title' target='$target' >" . $row_top_menu['menu_text'] . "</a>";
                    
                    $query_has_children = "select * from menu where menu_parent_menu_id = $menuid and menu_display = 1 order by menu_display_order";
                    $has_children = mysql_query($query_has_children, $eggbox) or die(mysql_error());
                    $row_has_children = mysql_fetch_assoc($has_children);
                    $totalRows_has_children = mysql_num_rows($has_children);
                    
                    if($totalRows_has_children > 0 && $array_menu[sizeof($array_menu)-2][0] == $menuid){
                        getchildren($menuid,0,3);
                        echo "</li>";      
                    } else {
                        echo "</li>";
                    }
                    
                    $count += 1;        
                } while ($row_top_menu = mysql_fetch_assoc($top_menu));
                
                echo "</ul>";
                
                
            } // End if
    
            mysql_free_result($has_children);
    } elseif ($menu_level == 2) { // Second level menu based on top level menu
        
        if($totalRows_top_menu > 0) {
                    
                $count = 0;    
                
                do {
                      $menuid = $row_top_menu['menu_id'];
                      $query_has_children = "select * from menu where menu_parent_menu_id = $menuid and menu_display = 1 order by menu_display_order";
                    $has_children = mysql_query($query_has_children, $eggbox) or die(mysql_error());
                    $row_has_children = mysql_fetch_assoc($has_children);
                    $totalRows_has_children = mysql_num_rows($has_children);
                    
                    if($totalRows_has_children > 0 && $array_menu[sizeof($array_menu)-2][0] == $menuid){
                        getchildren($menuid,0,3);
                        
                    }
                    
                        
                    $count += 1;        
                } while ($row_top_menu = mysql_fetch_assoc($top_menu));
                        
        } // End if
        mysql_free_result($has_children);
    } // End if function for menu levels        
    
    mysql_free_result($top_menu);
} // End Function


function getchildren ($menuid,$count,$count_level) {
                
    /* get the next level menu */
    global $database_eggbox, $eggbox, $urlmenu_id, $array_menu;
    $query_child_menu = "select * from menu where menu_parent_menu_id = $menuid and menu_display = 1 order by menu_display_order";
    $child_menu = mysql_query($query_child_menu, $eggbox) or die(mysql_error());
    $row_child_menu = mysql_fetch_assoc($child_menu);
    $totalRows_child_menu = mysql_num_rows($child_menu);      
        
    
    do {
        
        if($count == 0) {
            echo "<ul>";
        }
        
        $menuidd = $row_child_menu['menu_id'];
        if($urlmenu_id == $menuidd) {
            $selectedclass = "class='selected'";
        } else {
            $selectedclass = "";
        }
        
        if($row_child_menu['menu_alt_location'] != "") {
            // Alternative location like google
            if(substr($row_child_menu['menu_alt_location'],0,4) == "http") { $menuurl = $row_child_menu['menu_alt_location']; } else { $menuurl = "http://" . $row_child_menu['menu_alt_location'];}
            $title = "opens in new window";
            $target = "_blank";                
        } else {
            // site menu
            $menuurl = "index.php?menu_id=$menuidd";
            $title = "opens in same window";
            $target = "_self";
        } // End if
        
        echo "<li><a href='$menuurl' title='$title' target='$target' $selectedclass >" . $row_child_menu['menu_text'] . "</a>";
        
        $query_has_childrens = "select * from menu where menu_parent_menu_id = $menuidd and menu_display = 1 order by menu_display_order";
        $has_childrens = mysql_query($query_has_childrens, $eggbox) or die(mysql_error());
        $row_has_childrens = mysql_fetch_assoc($has_childrens);
        $totalRows_has_childrens = mysql_num_rows($has_childrens);
            
        if($totalRows_has_childrens > 0 && $array_menu[sizeof($array_menu)-$count_level][0] == $menuidd){
                
                getchildren($menuidd,0,$count_level+1);
                echo "</li>";
        } else {
                echo "</li>";
        }
                
        if($count+1 == $totalRows_child_menu) {
            echo "</ul>";
        }
    
        $count += 1;
                
    } while ($row_child_menu = mysql_fetch_assoc($child_menu));
    mysql_free_result($has_childrens);
    mysql_free_result($child_menu);
} // end function


/* get content */
$query_page_info = "select menu_id, pages.* from pages inner join menu on pages.page_id = menu.page_id where menu.menu_id = $urlmenu_id";
$page_info = mysql_query($query_page_info, $eggbox) or die(mysql_error());
$row_page_info = mysql_fetch_assoc($page_info);
$totalRows_page_info = mysql_num_rows($page_info);

function getcontent($content){
    global $row_page_info;
    $content = $row_page_info[$content];
    return $content;
} // End function

function getcolumns() {
    global $database_eggbox, $eggbox, $row_page_info, $urlmenu_id;
        
    $query_top_top_menu = "select * from menu where menu_parent_menu_id = $urlmenu_id and menu_display = 1 order by menu_display_order";
    $top_top_menu = mysql_query($query_top_top_menu, $eggbox) or die(mysql_error());
    $row_top_top_menu = mysql_fetch_assoc($top_top_menu);
    $totalRows_top_top_menu = mysql_num_rows($top_top_menu);
    
    if($row_page_info['page_lhs_content'] == "" && $row_page_info['page_rhs_content'] == "" && $totalRows_top_top_menu == 0) {
        $collhsrhs = "-noLHSRHS";
    } elseif($row_page_info['page_rhs_content'] == "" ) {
        $collhsrhs = "-noRHS";
    } elseif ($row_page_info['page_lhs_content'] == "" || $row_top_top_menu == 0) {
        $collhsrhs = "-noLHS";
    } else {
        $collhsrhs = "";
    }
    
    return $collhsrhs;
}




mysql_free_result($page_info);
  1. mysql_select_db($database_eggbox, $eggbox);
  2. /* get the home page at start*/
  3. $query_default_url = "select * from menu where menu_text = 'Home' order by menu_display_order";
  4. $default_url = mysql_query($query_default_url, $eggbox) or die(mysql_error());
  5. $row_default_url = mysql_fetch_assoc($default_url);
  6. $totalRows_default_url = mysql_num_rows($default_url);
  7. if (isset($_GET['menu_id'])) {
  8.     $urlmenu_id = $_GET['menu_id'];
  9. } else {
  10.     $urlmenu_id = $row_default_url['menu_id'];
  11. }
  12. ///////////////////////////////////////////////////////////////
  13. /////////////////////* functions */////////////////////////////
  14. ///////////////////////////////////////////////////////////////
  15. if (!function_exists("GetSQLValueString")) {
  16. function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
  17. {
  18.  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  19.  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
  20.  switch ($theType) {
  21.   case "text":
  22.    $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
  23.    break;  
  24.   case "long":
  25.   case "int":
  26.    $theValue = ($theValue != "") ? intval($theValue) : "NULL";
  27.    break;
  28.   case "double":
  29.    $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
  30.    break;
  31.   case "date":
  32.    $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
  33.    break;
  34.   case "defined":
  35.    $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
  36.    break;
  37.  }
  38.  return $theValue;
  39. }
  40. }
  41. /* get breadcrumb function */
  42. function getbreadcrumb($arraycount,$parentmenuid){
  43.     
  44.     /* get the current level menu */
  45.     global $database_eggbox, $eggbox, $urlmenu_id, $array_menu;
  46.     $query_last_breadcrumb = "select * from menu where menu_id = $parentmenuid order by menu_display_order";
  47.     $last_breadcrumb = mysql_query($query_last_breadcrumb, $eggbox) or die(mysql_error());
  48.     $row_last_breadcrumb = mysql_fetch_assoc($last_breadcrumb);
  49.     $totalRows_last_breadcrumb = mysql_num_rows($last_breadcrumb);
  50.     
  51.     $array_menu[$arraycount][0] = $row_last_breadcrumb['menu_id'];
  52.     $array_menu[$arraycount][1] = $row_last_breadcrumb['page_id'];
  53.     $array_menu[$arraycount][2] = $row_last_breadcrumb['menu_text'];
  54.     $array_menu[$arraycount][3] = $row_last_breadcrumb['menu_parent_menu_id'];
  55.     
  56.     if($array_menu[$arraycount][0] != "") {
  57.         getbreadcrumb($arraycount+1,$array_menu[$arraycount][3]);
  58.     }
  59.     
  60.     if($arraycount == count){
  61.         echo $array_menu[$arraycount][2];
  62.     } else {
  63.         $menuid = $array_menu[$arraycount][0];
  64.         echo "<li><a href='index.php?menu_id=$menuid' title='opens in same window' target='_self' >" . $array_menu[$arraycount][2] . "</a> : </li>";
  65.     }
  66.     mysql_free_result($last_breadcrumb);
  67. } // end function
  68. /* get menu functions */
  69. function getmenu($menu_level,$menuid){
  70.         
  71.     /* get the top most level menu */
  72.     global $database_eggbox, $eggbox, $urlmenu_id, $array_menu;
  73.     $query_top_menu = "select * from menu where menu_parent_menu_id = $menuid and menu_display = 1 order by menu_display_order";
  74.     $top_menu = mysql_query($query_top_menu, $eggbox) or die(mysql_error());
  75.     $row_top_menu = mysql_fetch_assoc($top_menu);
  76.     $totalRows_top_menu = mysql_num_rows($top_menu);
  77.     
  78.     
  79.     if ($menu_level == 0) { // Top menu for nav bar only
  80.                     
  81.         echo "<ul>";
  82.                          
  83.         do {
  84.               $menuid = $row_top_menu['menu_id'];
  85.             if($urlmenu_id == $menuid) {
  86.                 $selectedclass = "class='selected'";
  87.             } else {
  88.                 $selectedclass = "";
  89.             }
  90.             
  91.               if($row_top_menu['menu_alt_location'] != "") {
  92.                 // Alternative location like google
  93.                   if(substr($row_top_menu['menu_alt_location'],0,4) == "http") { $menuurl = $row_top_menu['menu_alt_location']; } else { $menuurl = "http://" . $row_top_menu['menu_alt_location'];}
  94.                   $title = "opens in new window";
  95.                 $target = "_blank";                
  96.               } else {
  97.                   // site menu
  98.                 $menuurl = "index.php?menu_id=$menuid";
  99.                   $title = "opens in same window";
  100.                 $target = "_self";
  101.             } // End if
  102.             
  103.             echo "<li><a href='$menuurl' title='$target' target='$target' $selectedclass >" . $row_top_menu['menu_text'] . "</a></li>";
  104.             
  105.         } while ($row_top_menu = mysql_fetch_assoc($top_menu));
  106.         
  107.         echo "</ul>";
  108.     
  109.     
  110.     } elseif ($menu_level == 1) {
  111.             
  112.             if($totalRows_top_menu > 0) { // full side menu and you don't want a top menu
  113.                     
  114.                 echo "<ul>";
  115.                 $count = 0;    
  116.                 
  117.                 do {
  118.                   $menuid = $row_top_menu['menu_id'];
  119.                   if($urlmenu_id == $menuid) {
  120.                         $selectedclass = "class='selected'";
  121.                     } else {
  122.                         $selectedclass = "";
  123.                     }
  124.                  
  125.                   if($row_top_menu['menu_alt_location'] != "") {
  126.                         // Alternative location like google
  127.                         if(substr($row_top_menu['menu_alt_location'],0,4) == "http") { $menuurl = $row_top_menu['menu_alt_location']; } else { $menuurl = "http://" . $row_top_menu['menu_alt_location'];}
  128.                         $title = "opens in new window";
  129.                         $target = "_blank";                
  130.                     } else {
  131.                         // Site menu
  132.                         $menuurl = "index.php?menu_id=$menuid";
  133.                         $title = "opens in same window";
  134.                         $target = "_self";
  135.                     } // End if
  136.                  
  137.                   echo "<li><a href='$menuurl' title='$title' target='$target' >" . $row_top_menu['menu_text'] . "</a>";
  138.                     
  139.                     $query_has_children = "select * from menu where menu_parent_menu_id = $menuid and menu_display = 1 order by menu_display_order";
  140.                     $has_children = mysql_query($query_has_children, $eggbox) or die(mysql_error());
  141.                     $row_has_children = mysql_fetch_assoc($has_children);
  142.                     $totalRows_has_children = mysql_num_rows($has_children);
  143.                     
  144.                     if($totalRows_has_children > 0 && $array_menu[sizeof($array_menu)-2][0] == $menuid){
  145.                         getchildren($menuid,0,3);
  146.                         echo "</li>";      
  147.                     } else {
  148.                         echo "</li>";
  149.                     }
  150.                     
  151.                     $count += 1;        
  152.                 } while ($row_top_menu = mysql_fetch_assoc($top_menu));
  153.                 
  154.                 echo "</ul>";
  155.                 
  156.                 
  157.             } // End if
  158.     
  159.             mysql_free_result($has_children);
  160.     } elseif ($menu_level == 2) { // Second level menu based on top level menu
  161.         
  162.         if($totalRows_top_menu > 0) {
  163.                     
  164.                 $count = 0;    
  165.                 
  166.                 do {
  167.                       $menuid = $row_top_menu['menu_id'];
  168.                       $query_has_children = "select * from menu where menu_parent_menu_id = $menuid and menu_display = 1 order by menu_display_order";
  169.                     $has_children = mysql_query($query_has_children, $eggbox) or die(mysql_error());
  170.                     $row_has_children = mysql_fetch_assoc($has_children);
  171.                     $totalRows_has_children = mysql_num_rows($has_children);
  172.                     
  173.                     if($totalRows_has_children > 0 && $array_menu[sizeof($array_menu)-2][0] == $menuid){
  174.                         getchildren($menuid,0,3);
  175.                         
  176.                     }
  177.                     
  178.                         
  179.                     $count += 1;        
  180.                 } while ($row_top_menu = mysql_fetch_assoc($top_menu));
  181.                         
  182.         } // End if
  183.         mysql_free_result($has_children);
  184.     } // End if function for menu levels        
  185.     
  186.     mysql_free_result($top_menu);
  187. } // End Function
  188. function getchildren ($menuid,$count,$count_level) {
  189.                 
  190.     /* get the next level menu */
  191.     global $database_eggbox, $eggbox, $urlmenu_id, $array_menu;
  192.     $query_child_menu = "select * from menu where menu_parent_menu_id = $menuid and menu_display = 1 order by menu_display_order";
  193.     $child_menu = mysql_query($query_child_menu, $eggbox) or die(mysql_error());
  194.     $row_child_menu = mysql_fetch_assoc($child_menu);
  195.     $totalRows_child_menu = mysql_num_rows($child_menu);      
  196.         
  197.     
  198.     do {
  199.         
  200.         if($count == 0) {
  201.             echo "<ul>";
  202.         }
  203.         
  204.         $menuidd = $row_child_menu['menu_id'];
  205.         if($urlmenu_id == $menuidd) {
  206.             $selectedclass = "class='selected'";
  207.         } else {
  208.             $selectedclass = "";
  209.         }
  210.         
  211.         if($row_child_menu['menu_alt_location'] != "") {
  212.             // Alternative location like google
  213.             if(substr($row_child_menu['menu_alt_location'],0,4) == "http") { $menuurl = $row_child_menu['menu_alt_location']; } else { $menuurl = "http://" . $row_child_menu['menu_alt_location'];}
  214.             $title = "opens in new window";
  215.             $target = "_blank";                
  216.         } else {
  217.             // site menu
  218.             $menuurl = "index.php?menu_id=$menuidd";
  219.             $title = "opens in same window";
  220.             $target = "_self";
  221.         } // End if
  222.         
  223.         echo "<li><a href='$menuurl' title='$title' target='$target' $selectedclass >" . $row_child_menu['menu_text'] . "</a>";
  224.         
  225.         $query_has_childrens = "select * from menu where menu_parent_menu_id = $menuidd and menu_display = 1 order by menu_display_order";
  226.         $has_childrens = mysql_query($query_has_childrens, $eggbox) or die(mysql_error());
  227.         $row_has_childrens = mysql_fetch_assoc($has_childrens);
  228.         $totalRows_has_childrens = mysql_num_rows($has_childrens);
  229.             
  230.         if($totalRows_has_childrens > 0 && $array_menu[sizeof($array_menu)-$count_level][0] == $menuidd){
  231.                 
  232.                 getchildren($menuidd,0,$count_level+1);
  233.                 echo "</li>";
  234.         } else {
  235.                 echo "</li>";
  236.         }
  237.                 
  238.         if($count+1 == $totalRows_child_menu) {
  239.             echo "</ul>";
  240.         }
  241.     
  242.         $count += 1;
  243.                 
  244.     } while ($row_child_menu = mysql_fetch_assoc($child_menu));
  245.     mysql_free_result($has_childrens);
  246.     mysql_free_result($child_menu);
  247. } // end function
  248. /* get content */
  249. $query_page_info = "select menu_id, pages.* from pages inner join menu on pages.page_id = menu.page_id where menu.menu_id = $urlmenu_id";
  250. $page_info = mysql_query($query_page_info, $eggbox) or die(mysql_error());
  251. $row_page_info = mysql_fetch_assoc($page_info);
  252. $totalRows_page_info = mysql_num_rows($page_info);
  253. function getcontent($content){
  254.     global $row_page_info;
  255.     $content = $row_page_info[$content];
  256.     return $content;
  257. } // End function
  258. function getcolumns() {
  259.     global $database_eggbox, $eggbox, $row_page_info, $urlmenu_id;
  260.         
  261.     $query_top_top_menu = "select * from menu where menu_parent_menu_id = $urlmenu_id and menu_display = 1 order by menu_display_order";
  262.     $top_top_menu = mysql_query($query_top_top_menu, $eggbox) or die(mysql_error());
  263.     $row_top_top_menu = mysql_fetch_assoc($top_top_menu);
  264.     $totalRows_top_top_menu = mysql_num_rows($top_top_menu);
  265.     
  266.     if($row_page_info['page_lhs_content'] == "" && $row_page_info['page_rhs_content'] == "" && $totalRows_top_top_menu == 0) {
  267.         $collhsrhs = "-noLHSRHS";
  268.     } elseif($row_page_info['page_rhs_content'] == "" ) {
  269.         $collhsrhs = "-noRHS";
  270.     } elseif ($row_page_info['page_lhs_content'] == "" || $row_top_top_menu == 0) {
  271.         $collhsrhs = "-noLHS";
  272.     } else {
  273.         $collhsrhs = "";
  274.     }
  275.     
  276.     return $collhsrhs;
  277. }
  278. mysql_free_result($page_info);

Post Information

  • Total Posts in this topic: 10 posts
  • Users browsing this forum: No registered users and 91 guests
  • You cannot post new topics in this forum
  • You cannot reply to topics in this forum
  • You cannot edit your posts in this forum
  • You cannot delete your posts in this forum
  • You cannot post attachments in this forum
 
 

© 1998-2014. Ozzu® is a registered trademark of Unmelted, LLC.