Avatar billede freud Nybegynder
21. januar 2003 - 12:09 Der er 17 kommentarer og
1 løsning

udskriv prisliste

Hvor skal jeg starte ?

Jeg er ved at lave en prisliste som er inddelt i forskellige kategorier. Nu vil jeg gerne udskrive hele prislisten, men den skal være inddelt i de forskellige kategorier.

Dvs. forskellige kategorier med forskellige underpunkter, men hvordan gør jeg det.

Jeg har følgende sql, som udskriver de enkelte kategorier en gang:

strSQL = "SELECT DISTINCT Kategori FROM Navision_Pris order by Kategori"
set rs = Conn.Execute(strSQL)

De underpunkter som skal udskriver er følgende :
<% rs("Indhold")%>
<% rs("Pris")%>

Hjælp.......... hvordan kommer jeg vidre.......
Avatar billede Slettet bruger
21. januar 2003 - 12:10 #1
du kunne starte på www.html.dk under asp tutorial
Avatar billede freud Nybegynder
21. januar 2003 - 12:17 #2
--> questis

:-) , du er bare sjov hva !
Avatar billede hossein Nybegynder
21. januar 2003 - 12:28 #3
hvis du vil udskrive alle dine felter men kategorien bliver gantaget en gang så bliver din sql sætning f ex:
strSQL = "SELECT DISTINCT Kategori, inhold, pris FROM Navision_Pris order by Kategori"
Avatar billede freud Nybegynder
21. januar 2003 - 12:54 #4
- hossein

Som sådan virker det, men jeg vil gerne have det sådan, at kategorien kun udskrives første gang.. hvis du forstår.

Min sql ser sådan ud:

<%         strSQL1 = "SELECT DISTINCT Kategori, Indhold, Pris FROM Navision_Pris order by Kategori"
        set rs = Conn.Execute(strSQL1)
%>

<%            Do Until rs.EOF
            Pris = FormatNumber(rs("Pris"),2) 
%>
<%= rs("Kategori")%><br><br><%= rs("Indhold") %><br><br><%= Pris %><br><br><br>

<%            RS.MoveNext
            Loop
%>
Avatar billede hossein Nybegynder
21. januar 2003 - 13:07 #5
:) nej det forstår jeg ikke :

>> kategorien kun udskrives første gang.. hvis du forstår.
hvad mener du med første gang.
Avatar billede freud Nybegynder
21. januar 2003 - 13:11 #6
som dette:

Standard-moduler: (Kategori)
CD-ROM, Brugermanualer (Indhold)

525,00 (Pris)

Grundpakke inkl. 20 Mb databasekapacitet. Finans med op til 300 konti. Debitor incl. salgsfakturering med op til 100 debitorer. Kreditor incl. købsfakturering med op til 100 kreditorer. Lager med op til 300 varenumre. E.kskl. manual og CD-ROM.

2.100,00


Udvidelsesmoduler:

Flere regnskaber pr. hovedmodul

1.575,00


Værktøjsmoduler:

Basis Udvikling

2.100,00


Forms Generator - ubegrænsede skærmtilretninger

6.300,00

Rapport Generator - ubegrænsede rapporttilretninger

5.250,00

og ikke som dette:

Standard-moduler:

CD-ROM, Brugermanualer (Kom nemt igang)

525,00


Standard-moduler:

Grundpakke inkl. 20 Mb databasekapacitet. Finans med op til 300 konti. Debitor incl. salgsfakturering med op til 100 debitorer. Kreditor incl. købsfakturering med op til 100 kreditorer. Lager med op til 300 varenumre. E.kskl. manual og CD-ROM.

2.100,00


Udvidelsesmoduler:

Flere regnskaber pr. hovedmodul

1.575,00


Værktøjsmoduler:

Basis Udvikling

2.100,00


Værktøjsmoduler:

Forms Generator - ubegrænsede skærmtilretninger

6.300,00


Værktøjsmoduler:

Rapport Generator - ubegrænsede rapporttilretninger

5.250,00
Avatar billede hossein Nybegynder
21. januar 2003 - 14:00 #7
vi prøver:
<%
'Databaseforbindelse
Set Conn = Server.CreateObject("ADODB.Connection")
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("minDatabseNavn.mdb") 'skriv databasenavn
Conn.Open strDSN
Set RS = Server.CreateObject("ADODB.Recordset")
strQ = "SELECT DISTINCT kategori, indhold, pris FROM Navision_Pris order by Kategori"

RS.Open strQ, strDSN

Do while not RS.EOF%>
      <table cellpadding="2" cellspacing="2" border="1" width "90%">
          <tr valign="Top">
        <td valign="Top"><%=RS("kategori")%></td>
        </tr>
        <tr valign="Top">
        <td valign="Top"><%=RS("indhold")%></td>
        </tr>
        <tr valign="Top">
        <td valign="Top"><%=formatnumber(RS("pris"),2)></td>
        </tr>
        <%RS.Movenext
    Loop%>
</table>
<%   
Rs.Close
Set RS = nothing
Conn.close
Set Conn = nothing
%>
Avatar billede freud Nybegynder
21. januar 2003 - 14:23 #8
--> hossein

Din kode ændre ikke andet end at det nu står i tabeller :-(
Avatar billede hossein Nybegynder
21. januar 2003 - 14:34 #9
ok, så har jeg ikke forstået dit problem!
Avatar billede freud Nybegynder
21. januar 2003 - 14:40 #10
-- > hossein

Jeg vil gerne have at prislisten udskrives sådan her:

http://www.nesdam.dk/prisliste.htm
Avatar billede hossein Nybegynder
21. januar 2003 - 17:21 #11
Ok, jeg foreslå at du laver en tabel kun til din kategorier også joiner du den med Navision_Pris. I Navision_Pris skal indsættes ID nummeret fra Kategori tabellen.
Avatar billede hossein Nybegynder
21. januar 2003 - 19:05 #12
Hvis du laver tabellerne så er koden klar!
Avatar billede freud Nybegynder
21. januar 2003 - 22:24 #13
--> hossein

jeg har tabellen klar, har du sql-koden :-) ..............

Her er min tabel:

<table width="540" border="0" align="center" cellpadding="5" cellspacing="0">
  <tr>
    <td bgcolor="#CCCCCC">PRISLISTE</td>
    <td width="90" bgcolor="#CCCCCC">&nbsp;</td>
  </tr>
<!--#include file="../../inc/dbadgang_modul.asp" -->

  <tr>
    <td align="left" valign="top"></td>
    <td width="90" align="right" valign="top">&nbsp;</td>
  </tr>

<%         strSQL1 = "SELECT DISTINCT Kategori FROM Navision_Pris order by Kategori ASC"
        set rs1 = Conn.Execute(strSQL1)
%>

<%            Do Until rs1.EOF

%>
  <tr>
    <td height="5" align="left" valign="top"><strong><%= rs1("Kategori")%></strong></td>
    <td width="90" height="5" align="right" valign="top">&nbsp;</td>
  </tr>
<%            RS1.MoveNext
            Loop
%> 
  <tr>
    <td height="5" align="left" valign="top">&nbsp;</td>
    <td width="90" height="5" align="right" valign="top">&nbsp;</td>
  </tr>
  <tr>
    <td align="left" valign="top">  </td>
    <td width="90" align="right" valign="top">&nbsp;</td>
  </tr>
</table>



</td>
  </tr>
</table>
<%
        Conn.Close
        Set Conn = Nothing
%>

Tabellen Navision_pris indeholder følgende felter:

-ID
-Indhold
-Pris
-Kategori
Avatar billede hossein Nybegynder
21. januar 2003 - 23:21 #14
nej, det var ikke html tabel som jeg mente. I din Database skal du oprette et nyt tabel som du kalder den f ex Kategori:

Kategori
Kat_ID      Kat_Navn
  1            pc
  2            ram
  3            monitor

Så skal du tilføje en ny felt i tabellen Navision_pris som du kalder det ID_Kat
Hver gang du opretter noget i tabellen Navision_pris så lægger du den tilhørende Tal fra Kategori.Kat_ID inde i Navision_pris.ID_Kat

sådan kan man så udskrive på den måde som du vil.
Det er fordi den skal trække værdierne ud fra en tabel og samligne det med den anden tabel.
Da det hele dine data ligger i en tabel så bliver besværligt for opdatering af siden, fordi man skal gøre det på følgende måde:

if rs("Kategori")= Værktøjsmoduler then
          <tr valign="Top">
        <td valign="Top">Værktøjsmoduler</td>
        <td valign="Top"><%=RS("kategori")%></td>
        </tr>
        <tr valign="Top">
        <td valign="Top"><%=RS("indhold")%></td>
        </tr>
        <tr valign="Top">
        <td valign="Top"><%=formatnumber(RS("pris"),2)></td>
        </tr>
.....
if rs("Kategori")= Standard-moduler then
          <tr valign="Top">
        <td valign="Top">Værktøjsmoduler</td>
        <td valign="Top"><%=RS("kategori")%></td>
        </tr>
        <tr valign="Top">
        <td valign="Top"><%=RS("indhold")%></td>
        </tr>
        <tr valign="Top">
        <td valign="Top"><%=formatnumber(RS("pris"),2)></td>
        </tr>
...

se, så skal du hvergang tilføjer noget nyt kategori, så skal du åbne din asp side og tilføje den nye

Min løsning giver brugeren ,ved hjælp af en listboks, mulighed for at vælge en eller flere kategorier, efter at brugeren har valgt sin valg trykkes på submit knap også vises resultatet.
Avatar billede hossein Nybegynder
21. januar 2003 - 23:22 #15
ups
if rs("Kategori")= Standard-moduler then
          <tr valign="Top">
        <td valign="Top">Standard-moduler </td>  '**** den linie er rigtig ****
        <td valign="Top"><%=RS("kategori")%></td>
        </tr>
        <tr valign="Top">
        <td valign="Top"><%=RS("indhold")%></td>
        </tr>
        <tr valign="Top">
        <td valign="Top"><%=formatnumber(RS("pris"),2)></td>
        </tr>
...
Avatar billede freud Nybegynder
22. januar 2003 - 10:21 #16
-->hossein

Tak for hjælpen, har ikke fået en helt løsning - man kan vist ikke få mere hjælp for at komme vidre.
Avatar billede hossein Nybegynder
22. januar 2003 - 19:13 #17
Jojo, men hvad synes du om mit forslag? Nu har jo haft lidt travlt på arbejdet.
Avatar billede freud Nybegynder
22. januar 2003 - 20:03 #18
Jeg forstod ikke helt hvad du mente, så jeg lavede denne løsning, lidt ud fra dig forslag

KODE:
-------------------------------------------------------------------------------
<table width="430" border="0" align="left" cellpadding="5" cellspacing="0">
  <tr>
    <td><!-- #include file="../inc/dbadgang.asp" --> <%
                SQL = " SELECT * FROM  SideIndhold WHERE SideID = 'navision_prisliste' "
                Set rs = Conn.Execute(SQL)
            %> <!-- #include file="../inc/side_sql.asp" -->
      <br>
      <br>
    </td>
    <td width="100">&nbsp;</td>
  </tr>
  <tr>
    <td> <strong>PRISLISTE</strong>
     
    </td>
    <td width="100">&nbsp;</td>
  </tr>
  <tr>
    <td align="left" valign="top"> <form name="form1">
        <select name="select2"  class="text_felt" onChange="window.open(this.options[this.selectedIndex].value,'_self')">
          <%         strSQL = "SELECT DISTINCT Kategori FROM Navision_Kategori order by Kategori ASC"
        set rs2 = Conn.Execute(strSQL)
%>
          <option value="" selected>---> VÆLG KATEGORI</option>
         
          <%            Do Until rs2.EOF

%>
          <option value="slet.asp?ID=<%= rs2("Kategori")%>">- <%= rs2("Kategori")%></option>
          <%            RS2.MoveNext
            Loop
%>
        </select>
      </form></td>
    <td width="100" align="right" valign="top">&nbsp;</td>
  </tr>
  <tr>
    <td align="left" valign="top"> <%     ID = Request.QueryString("ID")
    If ID = "" Then
%> <%     Else %> <%        
        ID = Request.QueryString("ID")

        strSQL1 = "SELECT * FROM  Navision_Pris WHERE Kategori = '" & ID & "' "
        set rs1 = Conn.Execute(strSQL1)
        ID = ""
%> <strong><%= rs1("Kategori") %></strong> </td>
    <td width="100" align="right" valign="top">.</td>
  </tr>
  <tr>
    <td align="left" valign="top">&nbsp;</td>
    <td width="100" align="right" valign="top">&nbsp;</td>
  </tr>
<%        Do Until rs1.EOF
        Pris = FormatNumber(rs1("Pris"),2)
        Indhold = replace(rs1("Indhold"), vbCrLf, "<BR>")
%>
  <tr>
    <td align="left" valign="top"><%= Indhold %></td>
    <td align="right" valign="top"><%= Pris %> KR</td>
  </tr>
  <tr>
    <td colspan="2" align="left" valign="top"><hr></td>
  </tr>
  <%            RS1.MoveNext
            Loop
%>
  <%     End If %>
  <%
        Conn.Close
        Set Conn = Nothing
%>
  <tr>
    <td align="left" valign="top">&nbsp;</td>
    <td align="right" valign="top">&nbsp;</td>
  </tr>
</table>

-------------------------------------------------------------------------------

HER KAN DU SE HVORDAN DET VIRKER, SE PRISLISTE 2: http://www.neocon.dk/mw/index.asp?ID=Navision
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