Avatar billede rudimus Nybegynder
05. august 2004 - 10:07 Der er 10 kommentarer

Dynamisk menu fra database

Hjælp! Jeg kan ikke finde ud af at lave en dynamisk menu ud fra min database. Den skal virke som produkt menuen på denne side
http://koekkengrej.shop03.dandomain.dk/shop/
Er der en der kan hjælpe mig?
Avatar billede tonnybrandt Nybegynder
05. august 2004 - 10:15 #1
Du har 3 spørgsmål om det samme. Luk 2 af dem, da du kun må have et spørgsmål om samme emne ad gangen.
Avatar billede bojohansen Nybegynder
05. august 2004 - 18:36 #2
Avatar billede rudimus Nybegynder
05. august 2004 - 23:36 #3
Bo! Jeg tror det er det jeg skal bruge! Jeg skal dog lige have tid til at lurer lidt. Jeg er ikke sikker på hvordan det er sat sammen, og jeg skal arbejd meget de næste par dage, men i starten af næste uge får jeg kigget På det.. Det er faktisk lidt sjovt, for jeg havde været inde for at kigge lidt på din profil, fordi jeg havde lidt på fornemmelsen, at det var et problem du kunne hjælpe mig med.. på forhånd tak!

Rudi.
Avatar billede rudimus Nybegynder
06. august 2004 - 09:30 #4
Hej Bo!
Jeg har siddet og rodet med menuen her til formiddag, og jeg kan godt få den til at hente hoved menuen op fra databasen, men det dynamiske i menuen kan jeg ikke rigtig få til at virke.. Er det er det css filen <!--#include virtual="/css/scroll_bar.css" --> jeg mangler? Det er som om at jeg ikke rigtig kan downloade menuen fra dit link. de filer der var med var en dafailt fil, en DB og 4 pile, mangler der noget? Det skal siges at jeg laver det hele i Dreamweaver er det et problem ?

Min kode ser således ud pt. Hvad er problemet???

P[ forh[nd tak

Rudi.

<html>
<head>
<title>Untitled Document</title>

</head>

<body bgcolor="#FFFFFF" text="#000000" marginwidth="0" marginheight="0" topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
  <tr>
    <td valign="top">
      <table width="100%" border="0" cellspacing="0" cellpadding="0" align="center" background="/design/bojohansenadsldk/design1/ojne_stribe_0.2.jpg" height="8">
        <tr>
          <td><img src="/billeder/spacers/780x1_transperent.gif" width="780" height="1"><br>
            <table width="100%" border="0" cellspacing="0" cellpadding="3" height="14">
              <tr>
                <td height="23"><font color="#FFFFFF"><img src="/billeder/spacers/1x1_transperent.gif" width="14" height="16"><a href="/"><font color="#FFFFFF">Hjem</font></a>&nbsp;|&nbsp;Windows&nbsp;|
                  |</font></td>
              </tr>
            </table>
          </td>
        </tr>
      </table>
      <table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
        <tr>
          <td valign="top" height="421" colspan="2"> 
            <br>            <table width="95%" border="0" cellspacing="0" cellpadding="5" align="center">
              <tr>
                <td width="160" valign="top"> <img src="/billeder/spacers/1x1_transperent.gif" width="160" height="1"><br>
                  <%
    strRoot        = Request("root"):    If strRoot = "" Or Not IsNumeric(strRoot) Then strRoot = -1    ' To avoid failiure in CInt()
    strKat        = Request("kat"):    If strKat = "" Or Not IsNumeric(strKat) Then strKat = -1                ' - ditto -
    strSubKat    = Request("sub"):    If strSubKat = "" Or Not IsNumeric(strSubKat) Then strSubKat = -1        ' - ditto -

    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Inetpub\wwwroot\koekkengrej\varer.mdb"

    Set Rs = Conn.Execute("SELECT * FROM kategorier WHERE parent=0 ORDER BY sort;") ' Top kategorier has 0 as Parent.

    Do Until Rs.EOF
        Select Case (Cint(strRoot) = Rs("id"))
            Case True:  Response.Write "<img src='left.gif'><a href='default.asp' class='cat'>&nbsp;"& Rs("navn") & "</a><br>" & vbCrLf
            Case False: Response.Write "<img src='left.gif'><a href='default.asp?root=" & Rs("id") & "' class='cat'>"& Rs("navn") & "</a><br>" & vbCrLf
        End Select

        If (Cint(strRoot) = Rs("id")) Then
            Set KatRs = Conn.Execute("SELECT * FROM kategorier WHERE parent=" & Rs("id") & ";")
            Set SubIDRs = Conn.Execute("SELECT * FROM kategorier WHERE parent=" & KatRs("id") & ";")
           
            Do Until KatRs.EOF
                Select Case CInt(KatRs("hassub")) = 1
                    Case True:     Response.Write "<span class='subcat'><img src='subclick.gif'> <a href='default.asp?root=" & strRoot & "&kat=" & KatRs("id") & "&subkat=" & SubIDRs("id") & "'>" & KatRs("navn") & "</a></span><br>" & vbCrLf
                    Case False:    Response.Write "<span class='subcat'><img src='items.gif'> <a href='default.asp?root=" & strRoot & "&kat=" & KatRs("id") & "&showart=1'>" & KatRs("navn") & "</a></span><br>" & vbCrLf
                End Select
               
                If (Cint(strKat) = KatRs("id")) Then
                    Set SubRs = Conn.Execute("SELECT * FROM kategorier WHERE parent=" & strKat & ";")
                   
                    Do Until SubRs.EOF
                        Response.Write "<span class='subcat'>&nbsp;&nbsp;<img src='sub.gif'> <a href='default.asp?root=" & strRoot & "&kat=" & KatRs("id") & "&subkat=" & SubRs("id") & "&showart=1'>" & SubRs("navn") & "</a></span><br>" & vbCrLf                       
                       
                        SubRs.movenext
                    Loop
                End If

                KatRs.movenext
            Loop
        End If

        Rs.movenext
    Loop

    Conn.Close
    Set Conn = Nothing
%>
                </td>
                <td valign="top" width="100%"> En lille tester </td>
              </tr>
            </table></td>
          <td valign="top" width="9%" background="/design/bo-johansen.adsl.dk/design1/right_name_gitter_background.gif" rowspan="3"><img src="/billeder/spacers/1x1_transperent.gif" width="80" height="452"></td>
        </tr>
        <tr>
          <td valign="top" width="r%" class="alm_tekst">
            <div align="center">
              <% = time %>
              <br>
              <% = date %>
            </div>
          </td>
          <td valign="top" width="100%" rowspan="2" class="alm_tekst"><font color="#999999">
            <% Dim Side, QueryString, Vars, SideInfo
              Side = Request.Servervariables("PATH_INFO")
              Vars = Request.Querystring
              If Vars = "" Then
              SideInfo = Side & "#"
              Else
              SideInfo = Side & "?" & Vars & "#"
              End If
            %>
            &nbsp;</font><a href="<% = sideinfo %>">G&aring; til toppen af siden</a></td>
        </tr>
        <tr>
          <td valign="top" class="alm_tekst"><img src="/billeder/spacers/80x1_transperent.gif" width="80" height="1"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
</body>
</html>
Avatar billede bojohansen Nybegynder
06. august 2004 - 13:12 #5
jeg har lagt en ny menu.zip op på serveren.

Menuen fungere således.

Hoved punkter
1
2
3
....
For at lave hovedpunkter skal du indsætte
Table: Katagorier

Navn : Et Navn

Sort : Et tal for hvor på siden det skal vises 1-for top og så ellers derned af. dette er en dårlig måde, men den der er tilgængelig lige nu. der kan godt være feks. 10 punkter med 1.

Parent : 0

HasSub : 1

For at lave under punkter til hoved menu :
Table: Katagorier

Navn : Et Navn

Sort : samme som tidligere.

Parent : Det skal være hovedmenu ID'en. Feks. hvis du vil lave et underpunkt til Hovedmenu 10, ja så skal der stå 10 her.

HasSub : sættes til 0

For at lægge en vare ind under hoved menu -> under menu -> Liste vare
Table : tbl_vare

Kat : skal være ID fra den det underpunkt du lige har oprette i Table:Kategorier

Resten siger sig selv.
Avatar billede rudimus Nybegynder
11. august 2004 - 10:06 #6
Hej Bo ! Jeg kan ikke få det til at virke. Jeg kan godt hente Hovedmenuerne op fra min database, men under menuerne vil ikke. Hvergang jeg klikker på et af hovedmenuerne, så linker den bare over til min default side. Hvad gør jeg forkert?

Har jeg forstået det rigtigt, hvis hele siden skal opdateres hvergang man vil et skridt ud i menuerne ? Jeg har en del grafik på min side, og jeg kunne godt frygte at siden bliver lidt sløv.

Kan man ikke få nogen java et eller andet, som loader hele menuen ind på en gang?

Hilsen Rudi
Avatar billede karsten_larsen Praktikant
12. august 2004 - 19:07 #7
jo - menuen loader hver gang. Du kunne søge på træmenu i javascript-kategoerien, så vil du finde nogle gode eksempler, som kan det du efterlyser.

f.eks. http://www.eksperten.dk/spm/513842 eller kan du jo altid kigge forbi http://www.dhtmlcentral.com/projects/coolmenus/?m=31

Problemet med javascript er at der skal tages højde for en del forskellige browsere og det er du fri for, når det er ren asp.

:-) karsten_larsen
Avatar billede karsten_larsen Praktikant
13. august 2004 - 18:37 #8
Der er en god forklaring på denne side om foldemenu

http://www.phoenixv.dk/artikler.html
Avatar billede bojohansen Nybegynder
13. august 2004 - 21:31 #9
Der skulle ikke være problemer med at indsætte vare og kategorier hvis du følger den anvisning som jeg har skrevet tidligere.

Siden skal reloades hver gang man vælger et nyt menu punkt, rigtigt!

En java menu kan være din løsning, vær bare opmærksom på at hvis du har mange punkter i din menu, så bliver den meeeeeeeeeeget tung at loade, da alt i menuen skal loades når siden kaldes!!!
Avatar billede jensjakobsen Nybegynder
14. december 2004 - 19:00 #10
Har ellers svaret, men tråden er gammel :)
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
Kurser inden for grundlæggende programmering

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