Jump to content

sessions in mysql query


quasiman

Recommended Posts

I'm trying to use a flyout style menu, but it only successfully handles 2 layers, and from a customer standpoint, more layers would be confusing and annoying.  I want to have many submenu's called from my database, so I was thinking that using sessions to the mysql query could set where each top layer is. 

Something to this effect would be added to the code below:

$_SESSION['selected'] = mysql_query("SELECT * FROM category WHERE cat_id = $selected");

 

Here is the code so far, I just don't know how to put these two together...or if I'm thinking about it right!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Menu</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<script type="text/javascript">
startList = function() {
if (document.all&&document.getElementById) {
navRoot = document.getElementById("nav");
for (i=0; i<navRoot.childNodes.length; i++) {
node = navRoot.childNodes[i];
if (node.nodeName=="LI") {
node.onmouseover=function() {
this.className+=" over";
  }
  node.onmouseout=function() {
  this.className=this.className.replace(" over", "");
   }
   }
  }
}
}
window.onload=startList;
</script>
<style type="text/css">
body {
font: normal 11px verdana;
}

ul {
margin: 0;
padding: 0;
list-style: none;
width: 150px; /* Width of Menu Items */
border-bottom: 1px solid #ccc;
}

ul li {
position: relative;
}

li ul {
position: absolute;
left: 149px; /* Set 1px less than menu width */
top: 0;
display: none;
}

/* Styles for Menu Items */
ul li a {
display: block;
text-decoration: none;
color: #777;
background: #fff; /* IE6 Bug */
padding: 5px;
border: 1px solid #ccc; /* IE6 Bug */
border-bottom: 0;
}

/* Holly Hack. IE Requirement \*/
* html ul li { float: left; height: 1%; }
* html ul li a { height: 1%; }
/* End */

li:hover ul, li.over ul { display: block; } /* The magic */
</style>
</head>

<body> 
<ul id="nav">
<?php

    mysql_connect("host", "login", "password");
    mysql_select_db("database");
displayChildren(1);
function displayChildren($id)
{
$sql = "SELECT * FROM category WHERE cat_parent_id = $id";

$result = mysql_query($sql);

while($row = mysql_fetch_assoc($result))
{
if($row['cat_parent_id'] == $id)
{
echo "\n<li><a href=\"#\">{$row['cat_name']}</a><ul>";
displayChildren($row['cat_id']);
echo "</li>\n";
}else {
echo "\n<li><a href=\"#\">{$row['cat_name']}</a>";
displayChildren($row['cat_id']);
echo "</ul></li>\n";
}
}
}

?>

</body>
</html>

Link to comment
https://forums.phpfreaks.com/topic/41660-sessions-in-mysql-query/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.