Avatar billede webtonet Nybegynder
30. november 2003 - 17:52 Der er 4 kommentarer

Hvordan tilføjer jeg undermenu i databasen?

jeg har en menu men tilhørene mysql database. Jeg har opsat det hele på min server og der virker helt fint. Nu er der så det problem at jeg gerne vil have tilføjet en undermenu til hovedmenu´en. Det hele er sat op til at kunne dette, men jeg kan bare ikke finde ud af det jeg syntes at have prøvet alt.

Database opbygningen ser sådanne ud:

# Table structure for table 'main_content'
#

CREATE TABLE main_content (
  id int(11) DEFAULT '0' NOT NULL,
  contentEnglish text NOT NULL,
  contentGerman text NOT NULL,
  contentFrench text NOT NULL,
  PRIMARY KEY (id)
);

#
# Dumping data for table 'main_content'
#

INSERT INTO main_content VALUES ( '1', '<p>
<font face=\"arial\" size=\"2\">Welcome to the demo
</font>', '', '');

# --------------------------------------------------------
#
# Table structure for table 'menu_headings'
#

CREATE TABLE menu_headings (
  id int(11) NOT NULL auto_increment,
  headingEnglish varchar(50) NOT NULL,
  headingGerman varchar(50) NOT NULL,
  headingFrench varchar(50) NOT NULL,
  PRIMARY KEY (id)
);

#
# Dumping data for table 'menu_headings'
#

INSERT INTO menu_headings VALUES ( '1', ' Welcome', '', '');
INSERT INTO menu_headings VALUES ( '2', 'Sales', '', '');
INSERT INTO menu_headings VALUES ( '3', 'Human Resources', '', '');
INSERT INTO menu_headings VALUES ( '4', 'Engineering', '', '');
INSERT INTO menu_headings VALUES ( '5', 'I.T. Department', '', '');

# --------------------------------------------------------
#
# Table structure for table 'sub_menu_content'
#

CREATE TABLE sub_menu_content (
  id int(11) DEFAULT '0' NOT NULL,
  contentEnglish text NOT NULL,
  contentGerman text NOT NULL,
  contentFrench text NOT NULL,
  PRIMARY KEY (id)
);

#
# Dumping data for table 'sub_menu_content'
#

INSERT INTO sub_menu_content VALUES ( '6', '<P>
This is the CAD section of the engineering department.', '', '');

# --------------------------------------------------------
#
# Table structure for table 'sub_menu_items'
#

CREATE TABLE sub_menu_items (
  heading_num int(11) DEFAULT '0' NOT NULL,
  sub_menu_num int(11) NOT NULL auto_increment,
  itemnameEnglish varchar(50) NOT NULL,
  itemnameGerman varchar(50) DEFAULT '0' NOT NULL,
  itemnameFrench varchar(50) NOT NULL,
  PRIMARY KEY (sub_menu_num)
);

#
# Dumping data for table 'sub_menu_items'
#

INSERT INTO sub_menu_items VALUES ( '2', '1', 'Presentations', '', '');
INSERT INTO sub_menu_items VALUES ( '2', '2', 'Products', '', '');
INSERT INTO sub_menu_items VALUES ( '2', '3', 'Pricing', '', '');
INSERT INTO sub_menu_items VALUES ( '3', '4', 'Contracts', '', '');
INSERT INTO sub_menu_items VALUES ( '3', '5', 'Directives', '', '');
INSERT INTO sub_menu_items VALUES ( '4', '6', 'CAD', '', '');
INSERT INTO sub_menu_items VALUES ( '5', '7', 'Email Policy', '', '');
INSERT INTO sub_menu_items VALUES ( '5', '8', 'Security', '', '');
INSERT INTO sub_menu_items VALUES ( '5', '9', 'Training', '', '');
INSERT INTO sub_menu_items VALUES ( '5', '10', 'FAQ', '', '');


Håber i ud fra dette kan hjælpe mig elleres spørger i jo bare.
Avatar billede danisher Nybegynder
30. november 2003 - 19:34 #1
Jamen, du har jo lavet det selv. Du har oprettet en sub_menu_items, som har en heading_num int(11), som jo netop skal indeholde hoved menu punktet's id...

Hvad siger du så problemet er?

Mvh
Avatar billede webtonet Nybegynder
30. november 2003 - 22:04 #2
Det går også helt fint at få lavet hovede menuerne, men jeg kan ikke få undermenuerne under en bestemt hoved menu.

Vi har tabellen "menu_headings" det er her hovede menuerne er. Fx. hvis vi tager menuen "Sales" og vil sætte en under menu på den så vil den bare ikke vise den og det gælder alle jeg prøver at gøre det med.
Avatar billede danisher Nybegynder
01. december 2003 - 11:59 #3
Gør du det med kode eller hvad? Må jeg så se din kode?
Avatar billede webtonet Nybegynder
01. december 2003 - 14:46 #4
Her er koden:


<?php

$link= mysql_connect ("localhost", "brugernavn", "password")
        or die ("Could not connect");

$select=mysql_select_db("databasenavn");

?>
<html>

<body>

<center>
<table border="1" width="600" height="500" cellspacing="0" cellpadding="0">

<tr><td colspan="2" height="50">P NAV demo by Justin Flavin Dec 2001 </td></tr>
<tr><td colspan="2" height="50">
<?php


{
echo "<a href='main_page.php?menu_id=1' class='nonu'>";
$homequery=mysql_fetch_array(mysql_query("SELECT * FROM menu_headings WHERE id='1'"));
echo $homequery["headingEnglish"];
echo "</a>";
}


if ($menu_id!=1 AND $menu_id!=NULL)
{

$query2=mysql_fetch_array(mysql_query("SELECT * FROM menu_headings WHERE id=$menu_id"));

echo "<IMG SRC='right.gif' WIDTH='32' HEIGHT='28'  HSPACE='2'>";
echo "<a href='main_page.php?menu_id=$menu_id'>";
echo $query2["headingEnglish"];
echo "</A>";
}

if ($sub_menu_id!=NULL)
{
$query2 = mysql_fetch_array (mysql_query("SELECT * FROM sub_menu_items WHERE sub_menu_num=$sub_menu_id"));
echo "<IMG SRC='right.gif' WIDTH='32' HEIGHT='28'  HSPACE='2'>";
echo "<a href='main_page.php?menu_id=$menu_id&sub_menu_id=$sub_menu_id'>";
echo $query2["itemnameEnglish"];
echo "</a>";
}


?>


</td></tr>

<td width="100" valign="top">
<table border="1" width="100" cellspacing="0" cellpadding="0">

<?php


if ($menu_id==NULL)
{
$querystring="SELECT * FROM menu_headings ORDER by headingEnglish";
$query=mysql_query("$querystring");
while ($row=mysql_fetch_array($query)) {
echo "<TR VALIGN='TOP'><TD ALIGN='RIGHT'>";
echo "<A HREF='main_page.php?menu_id=$row[id]'><IMG SRC='right.gif' WIDTH='32' HEIGHT='28'  BORDER='0'></A></TD>";
echo "<TD>";
echo "<A HREF='main_page.php?menu_id=$row[id]'>";
echo $row["headingEnglish"];
echo "</A></TD></TR>";
                }
}
    else
    {
    $querystring="SELECT * FROM menu_headings ORDER by headingEnglish";
    $query=mysql_query("$querystring");
    while ($row=mysql_fetch_array($query) ) {
        if ($row[id]==$menu_id)
            {
                echo "<TR VALIGN='TOP' BGCOLOR='#FFFFFF'>";
                echo "<TD ROWSPAN='2' ALIGN='RIGHT'><IMG SRC='down.gif' WIDTH='32' HEIGHT='28' BORDER='0'></TD>";
                echo "<TD><a href='main_page.php?menu_id=$row[id]'>";
                echo  $row["headingEnglish"];
                echo "</a></A></TD></TR>"; 
    ?>
    <TR VALIGN="TOP" BGCOLOR="#FFFFFF">
    <TD>
    <TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0">

    <?php

    $subquerystring="SELECT * FROM sub_menu_items WHERE heading_num=$menu_id ORDER BY itemnameEnglish";
    $subquery=mysql_query("$subquerystring");
    while($subrow=mysql_fetch_array($subquery))
    {
        echo "<TR VALIGN='TOP' BGCOLOR='#FFFFFF'>";
        echo "<TD ALIGN='RIGHT' NOWRAP>";
        echo "<A HREF='main_page.php?menu_id=$row[id]&sub_menu_id=$subrow[sub_menu_num]'>";
        echo "<IMG SRC='right.gif' WIDTH='32' HEIGHT='28' BORDER='0'></a>";
        echo "</TD>";
        echo "<TD><A HREF='main_page.php?menu_id=$row[id]&sub_menu_id=$subrow[sub_menu_num]'>";
        echo $subrow["itemnameEnglish"];
        echo "</A></TD>";
        echo "</TR>";
            }
?>
<TR>
<TD COLSPAN="2"><IMG SRC="dot.gif" WIDTH="3" HEIGHT="3" ALT=""></TD></TR>
</TABLE>
</TD>
</TR>
<?php
          }
        else {

    echo "<TR VALIGN='TOP'>";
    echo "<TD ALIGN='RIGHT'><a href='main_page.php?menu_id=$row[id]'>";
    echo "<IMG SRC='right.gif' WIDTH='32' HEIGHT='28' BORDER='0'></a></TD>";
    echo "<TD><a href='main_page.php?menu_id=$row[id]'>";
    echo $row["headingEnglish"];
    echo "</A></TD></TR>"; 
                  }
                }
          }
?>

<TR BGCOLOR="#FFFFFF">
<TD><IMG SRC="dot.gif" WIDTH="16" HEIGHT="1" ALT="spacer"></TD>
<TD><IMG SRC="dot.gif" WIDTH="125" HEIGHT="1" ALT="spacer"></TD>
</TR>

</table>
</td>

<td width="500" valign="top">

<?php


if($menu_id==NULL){
$menu_id=1;
}

if ($menu_id!=NULL AND $sub_menu_id==NULL)
{
$query=mysql_query("SELECT * FROM main_content WHERE id=$menu_id");
$result=mysql_fetch_array($query);


$query2=mysql_fetch_array(mysql_query("SELECT * FROM menu_headings WHERE id=$menu_id"));

echo "<h2><font color='#D1D100'>";
echo $query2["headingEnglish"];
echo "</font></h2>";

echo $result["contentEnglish"];

}


if ($sub_menu_id !=NULL)
{
$query=mysql_query("SELECT * FROM sub_menu_content WHERE id=$sub_menu_id");
$result=mysql_fetch_array($query);



$query2 = mysql_fetch_array (mysql_query("SELECT * FROM sub_menu_items WHERE sub_menu_num=$sub_menu_id"));
echo "<h2><font color='#D1D100'>";
echo $query2["itemnameEnglish"];
echo "</font></h2>";
echo $result["contentEnglish"];

}
?>



</td>

</tr>
<tr><td colspan="2" height="25"></td></tr>
</table>
</center>
</body>
</html>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester