Avatar billede bakarden Nybegynder
18. februar 2006 - 02:22 Der er 15 kommentarer og
1 løsning

problemer med IF sætning

Hej eksperter

Jeg har opbygget en side via asp, jeg har brugt includes til at lave en menu i venstre side og alt indholdet i den anden side.

Nu er jeg kommet dertil hvor jeg gerne vil have undersider under indhold så jeg kan trykke på et link hvor indholdet er, og den så bliver kaldt frem i samme vindue, findes der en nem If sætning til den slags, det drejer sig om ca 4 sider til hvert punkt, jeg håber i kan læse hvor jeg vil hen

Så vil jeg altså gerne have 4 sider kaldt frem fra en af de includes som er der, så den bliver kaldt frem i samme celle

her kommeer koden
--------------------------------------------------
default.asp

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>blah</title>


       
<link href="styles.css" rel="stylesheet" type="text/css">
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<meta name="Generator" content="Stone's WebWriter 4">
</head>
<body background="back.jpg">

<table width="800" bgcolor="#F4F4F4" cellspacing="0" cellpadding="0" border="0">
    <tr>
        <!-- Header -->
        <td width="800" height="200" bgcolor="#FFFFFF"><img src="header.png" width="800" height="200" border="1" bordercolor="#6F0000" alt=""></td>
    </tr>
</table>

<br>


<table width="800" height="500" border="1" bgcolor="#FFFFFF" cellspacing="10" cellpadding="0" bordercolor="#6F0000">
    <tr>
        <td width="100" height="10" bgcolor="#FFFFFF"></td>
    </tr>
        <tr>
                <td width="5" height="5" bgcolor="#6F0000"></td>
                <td width="5" height="5" bgcolor="#6F0000"></td>

    </tr>
<tr>



        <!-- Menu -->


       
    <td width="200" height="500" valign="top">
           
<br><h1>Menu</h1>
            <h3>


- <a href="default.asp?id=1"></a><br>
- <a href="default.asp?id=2"></a><br>
- <a href="default.asp?id=3"></a><br>
- <a href="default.asp?id=4"></a><br>
- <a href="default.asp?id=5"></a><br>
- <a href="default.asp?id=6"></a><br>
- <a href="default.asp?id=7"></a><br>
- <a href="default.asp?id=8"></a><br>
- <a href="default.asp?id=9"></a><br>
- <a href="default.asp?id=10"></a><br>
        </h3>
    </td>
<!-- Indhold -->

<td valign="top" width="600" height="500">
<h3>
<br>
<%
Select Case Request.Querystring("id")
    Case 1, ""
%>
        <!--#include file="side1_inc.asp"-->
<%
    Case 2, ""
%>
        <!--#include file="side2_inc.asp"-->
<%
    Case 3, ""
%>     
    <!--#include file="side3_inc.asp"-->
<%
    Case 4, ""
%>
        <!--#include file="side4_inc.asp"-->
<%
    Case 5, ""
        if request.querystring("blah") <> "" then
        %>
            <!--#include file="blah.asp"-->
        <%
        else
        %>
        <!--#include file="side5_inc.asp"-->
        <%
        end if
    Case 6, ""
%>
        <!--#include file="side6_inc.asp"-->
<%
    Case 7, ""
%>
        <!--#include file="side7_inc.asp"-->
<%
    Case 8, ""
%>
        <!--#include file="side8_inc.asp"-->
<%
    Case 9, ""
%>
        <!--#include file="side9_inc.asp"-->
<%
    Case 10, ""
%>
        <!--#include file="side10_inc.asp"-->
<%
    Case Else
        Response.Write "Siden blev ikke fundet."

End Select
%>
</h3>
  </td>
    </tr>

    <tr>
        <!-- Bund -->
        <td width="800" height="20" align="center" colspan="2">
              2005/2006 &copy
        </td>
    </tr>
</table>

</body>
</html>
Avatar billede bakarden Nybegynder
18. februar 2006 - 02:22 #1
Se lige bort fra case 5.. var bare noget jeg prøvede..
Avatar billede thesurfer Nybegynder
18. februar 2006 - 02:41 #2
Jeg går ud fra, at din menu f.eks. ser sådan ud:

Punkt A
Punkt B
Punkt C
osv..

Hvis man så klikker på Punkt B, skal menuen se sådan ud:

Punkt A
Punkt B
- Punkt B.1
- Punkt B.2
- Punkt B.3
Punkt C

Hvis det er korrekt, skal du lave en if sætning under Punkt B:

Punkt A
Punkt B
<% if request.querystring("id") = 2 then %>
- Punkt B.1
- Punkt B.2
- Punkt B.3
<% end if %>
Punkt C
osv..

Du behøver ikke "" i Select Case:

Case 1, ""

Det er nok med: Case 1


/theSurfer
Avatar billede bakarden Nybegynder
18. februar 2006 - 03:12 #3
Jeg tror du misforstår det..
Når jeg kalder en side frem fra menuen, vil jeg have at der skal være 4 ting jeg kan trykke videre, som altså en slags forside, og så den åbner en ny side i samme celle

Menu | indhold -> 4 undersider
Avatar billede thesurfer Nybegynder
18. februar 2006 - 03:36 #4
Du bruger bare 2x Select Case:

menu
<br><br>
<a href="default.asp?id=1">1</a>
<br>
<a href="default.asp?id=5">5</a>
<hr>
indhold:
<br><br>

<%
select case request.querystring("id")
case 1
%>
<!-- #include file="main.asp"-->
<%
case 5
    if request.querystring("subid") <> "" then
        select case request.querystring("subid")
        case 1
        %>
            <!-- #include file="sub5_1.asp" -->
        <%
        case 2
        %>
            <!-- #include file="sub5_2.asp" -->
        <%
        case 3
        %>
            <!-- #include file="sub5_3.asp" -->
        <%
        case 4
        %>
            <!-- #include file="sub5_4.asp" -->
        <%
        end select
    else
        %>
        <!-- #include file="sub5.asp"-->
        <%
    end if
end select
%>


Og din sub5.asp ser sådan ud:

<a href="default.asp?id=5&subid=1">5_1</a>
<br>
<a href="default.asp?id=5&subid=2">5_2</a>
<br>
<a href="default.asp?id=5&subid=3">5_3</a>
<br>
<a href="default.asp?id=5&subid=4">5_4</a>

/theSurfer
Avatar billede bakarden Nybegynder
18. februar 2006 - 13:27 #5
den første menu, hvor skal den stå?
"
menu
<br><br>
<a href="default.asp?id=1">1</a>
<br>
<a href="default.asp?id=5">5</a>
<hr>
"

og kan du forklare den her? Hvad skal filen hedde? Og hvorfor includer du main.asp?

indhold:
<br><br>

<%
select case request.querystring("id")
case 1
%>
<!-- #include file="main.asp"-->
<%
case 5
    if request.querystring("subid") <> "" then
        select case request.querystring("subid")
        case 1
        %>
            <!-- #include file="sub5_1.asp" -->
        <%
        case 2
        %>
            <!-- #include file="sub5_2.asp" -->
        <%
        case 3
        %>
            <!-- #include file="sub5_3.asp" -->
        <%
        case 4
        %>
            <!-- #include file="sub5_4.asp" -->
        <%
        end select
    else
        %>
        <!-- #include file="sub5.asp"-->
        <%
    end if
end select
%>
Avatar billede thesurfer Nybegynder
18. februar 2006 - 18:51 #6
Ok.. her kommer en forklaring..

Ang. "første menu":
Det er den menu man har over i venstre side.. den vil altid være der.. det er jo derfra, at man klikker videre til de andre sider..

Ang. "main.asp":
Jeg plejer altid at kalde hovedsiden/forsiden for "main.asp".
Egentligt burde den første Select statement have endt sådan her:

        case else
        %>
            <!-- #include file="main.asp" -->
        <%
end select %>

"Case Else" udføres, hvis de andre kriterier ikke bliver opfyldt.

Ang. rettelsen:
Jeg har gjort det, at jeg har tilføjet endnu en Select statement. Denne Select statement har til opgave, at undersøge om der skal hentes en underside ("sub" = "under"). Den checker om parameteren "subid" indeholder noget. Hvis den gør det, skal den bruge parameteren, til at finde den rette underside.
Igen kan man tilføje en "Case Else".. det er op til dig..

/theSurfer
Avatar billede bakarden Nybegynder
18. februar 2006 - 20:22 #7
okay helt sikkert, det forstår jeg

men det her kode skal det være inde i min anden case i default filen, eller skal den være under side5_inc (som jeg kalder mine includes)

jeg sletter bare den include_main, for forståelsens skyld.
---
Det jeg har gjort nu er at putte følende kode i filen side5_inc, hvis det er korrekt?
Men når jeg kalder siden frem requester den bare uden at vise noget :\
<%
select case request.querystring("id")
case 1
%>
<!-- #include file="main.asp"-->
<%
case 5
    if request.querystring("subid") <> "" then
        select case request.querystring("subid")
        case 1
        %>
            <!-- #include file="sub5_1.asp" -->
        <%
        case 2
        %>
            <!-- #include file="sub5_2.asp" -->
        <%
        case 3
        %>
            <!-- #include file="sub5_3.asp" -->
        <%
        case 4
        %>
            <!-- #include file="sub5_4.asp" -->
        <%
        end select
    else
        %>
        <!-- #include file="sub5.asp"-->
        <%
    end if
end select
%>
Avatar billede thesurfer Nybegynder
18. februar 2006 - 20:27 #8
Vil det sige, at du har denne kode i side5_inc.asp ?:

    if request.querystring("subid") <> "" then
        select case request.querystring("subid")
        case 1
        %>
            <!-- #include file="sub5_1.asp" -->
        <%
        case 2
        %>
            <!-- #include file="sub5_2.asp" -->
        <%
        case 3
        %>
            <!-- #include file="sub5_3.asp" -->
        <%
        case 4
        %>
            <!-- #include file="sub5_4.asp" -->
        <%
        end select
    else
        %>
        <!-- #include file="sub5.asp"-->
        <%
    end if

Hvis ja, skal du bare includere side5_inc.asp direkte:

case 5
        %>
            <!-- #include file="side5_inc.asp" -->
        <%
end select

/theSurfer
Avatar billede thesurfer Nybegynder
18. februar 2006 - 20:32 #9
Hvis det er, kan jeg prøve at integrere koden ind i koden fra dit spm..
Men hvordan er din struktur, mht til "sideX_inc"-systemet..?

/theSurfer
Avatar billede bakarden Nybegynder
18. februar 2006 - 20:37 #10
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Tip-Top</title>


       
<link href="styles.css" rel="stylesheet" type="text/css">
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<meta name="Generator" content="Stone's WebWriter 4">
</head>
<body background="back.jpg">

<table width="800" bgcolor="#F4F4F4" cellspacing="0" cellpadding="0" border="0">
    <tr>
        <!-- Header -->
        <td width="800" height="200" bgcolor="#FFFFFF"><img src="header.png" width="800" height="200" border="1" bordercolor="#6F0000" alt=""></td>
    </tr>
</table>

<br>


<table width="800" height="500" border="1" bgcolor="#FFFFFF" cellspacing="10" cellpadding="0" bordercolor="#6F0000">
    <tr>
        <td width="100" height="10" bgcolor="#FFFFFF"></td>
    </tr>
        <tr>
                <td width="5" height="5" bgcolor="#6F0000"></td>
                <td width="5" height="5" bgcolor="#6F0000"></td>

    </tr>
<tr>



        <!-- Menu -->


       
    <td width="200" height="500" valign="top">
           
<br><h1>Menu</h1>
            <h3>


- <a href="default.asp?id=1">1</a><br>
- <a href="default.asp?id=2">2</a><br>
- <a href="default.asp?id=3">3</a><br>
- <a href="default.asp?id=4">4</a><br>
- <a href="default.asp?id=5">5</a><br>
- <a href="default.asp?id=6">6</a><br>
- <a href="default.asp?id=7">7</a><br>
- <a href="default.asp?id=8">8</a><br>
- <a href="default.asp?id=9">9</a><br>
- <a href="default.asp?id=10"></a><br>
        </h3>
    </td>
<!-- Indhold -->

<td valign="top" width="600" height="500">
<h3>
<br>
<%
Select Case Request.Querystring("id")
    Case 1, ""
%>
        <!--#include file="side1_inc.asp"-->
<%
    Case 2, ""
%>
        <!--#include file="side2_inc.asp"-->
<%
    Case 3, ""
%>     
    <!--#include file="side3_inc.asp"-->
<%
    Case 4, ""
%>
        <!--#include file="side4_inc.asp"-->
<%
    Case 5, ""
%>
        <!--#include file="side5_inc.asp"-->
<%
    Case 6, ""
%>
        <!--#include file="side6_inc.asp"-->
<%
    Case 7, ""
%>
        <!--#include file="side7_inc.asp"-->
<%
    Case 8, ""
%>
        <!--#include file="side8_inc.asp"-->
<%
    Case 9, ""
%>
        <!--#include file="side9_inc.asp"-->
<%
    Case 10, ""
%>
        <!--#include file="side10_inc.asp"-->
<%
    Case Else
        Response.Write "Siden blev ikke fundet."

End Select
%>
</h3>
  </td>
    </tr>

    <tr>
        <!-- Bund -->
        <td width="800" height="20" align="center" colspan="2">
              2005/2006 &copy
        </td>
    </tr>
</table>

</body>
</html>
Avatar billede bakarden Nybegynder
18. februar 2006 - 20:39 #11
og ja det her på side5_inc.asp

    if request.querystring("subid") <> "" then
        select case request.querystring("subid")
        case 1
        %>
            <!-- #include file="sub5_1.asp" -->
        <%
        case 2
        %>
            <!-- #include file="sub5_2.asp" -->
        <%
        case 3
        %>
            <!-- #include file="sub5_3.asp" -->
        <%
        case 4
        %>
            <!-- #include file="sub5_4.asp" -->
        <%
        end select
    else
        %>
        <!-- #include file="sub5.asp"-->
        <%
    end if

Hvis ja, skal du bare includere side5_inc.asp direkte:

case 5
        %>
            <!-- #include file="side5_inc.asp" -->
        <%
end select
Avatar billede thesurfer Nybegynder
18. februar 2006 - 20:42 #12
Rigtigt..

1) Hvad har du i filen "sub5.asp"? (de er her der skal være links til undersiderne med subid=2 osv)

2) Virker det som det skal?

/theSurfer
Avatar billede bakarden Nybegynder
18. februar 2006 - 20:50 #13
Ja det var præcis der jeg ville hen, du skal have mange tak for hjælpen.

Point? så bare smid et svar.
Avatar billede thesurfer Nybegynder
18. februar 2006 - 20:59 #14
Svar smidt :-)

/theSurfer
Avatar billede thesurfer Nybegynder
18. februar 2006 - 21:21 #15
Du skal lige markere mit navn i boksen, inden du klikker på Accepter-knappen.. :-)

/theSurfer
Avatar billede thesurfer Nybegynder
18. februar 2006 - 22:36 #16
Takker for points, og god weekend :-)

/theSurfer
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