Avatar billede webbygger Nybegynder
15. september 2007 - 16:34 Der er 46 kommentarer og
1 løsning

count-sætning der driller!

Hej,

Jeg er ved at opdater et script, men jeg kan godt nok ikke få det til at kører som jeg vil ha det!!!

Har en table "kommen" hvor jeg ønsker at tælle hvor mange kommentar der er til hver anmeldelse - kolonne jeg skal tælle er "kategori",jeg bruger dette script:

Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL =  "Select * From anm Where kategori = '" & replace(request.querystring("id"),"'","''") & "' ORDER BY id desc"
strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("an.mdb")
rs.Open strSQL, strDSN, 1
if rs.EOF then
%>

  <b><br>
  <br>
  <br> 
<span class="kategori_tekst">
Der er desværre endnu ikke tilføjet nogle anmeldelse i denne kategori</span>
  <br> 
  <br>
  <br>
  <br>
  <br>
  <br>
  </b>
  <%
else


  rs.PageSize = 10
  rs.AbsolutePage = intPage
  intRecCount = rs.PageSize
  intPageCount = rs.PageCount
'** Paging part end

Counter = 1
'**paging ændre do util linien:
'do until rs.eof
Do While Not rs.EOF And intRecCount > 0
IF Counter = 4 Then
Counter = 1
End if
%>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td> <table width="80%" border="0" align="left" cellpadding="0" cellspacing="0">
              <tr>
          <td> <table width="80%" border="0" align="left" cellpadding="0" cellspacing="0" >
                    <tr>
                      <td align="right" valign="top"> <div align="left">
                          <p align="left"><B>
                            <% = rs("produkt") %>
                            <% = rs("butik") %>
                            </B> <br>
                            Indsendt af:&nbsp;&nbsp;
                            <% = rs("MEMBER_ID") %>
                            &nbsp;&nbsp;den&nbsp;&nbsp;
                            <% = rs("dato") %>
                            <br>
                            <br>
                            <%    Str = rs("beskrivelse") 
If len(Str) > 35 Then
  Response.write(left(Str, 35) & "  .....")
Else
  Response.Write Str
end if
                   
                    %>
                            <br>
                            <br>
                            <a href="vis.asp?rid=<% = rs("id") & "&amp;t=" & rs("kategori") %>"><B>
                            >> læs mere</B></a><br>
                            <br>
                          </p>
                          <p align="right">&nbsp; </p>
                        </div>
                        <div align="left"> </div></td>
                      <td align="right" valign="top"> <%  billed_url = rs("url")
   
                  if billed_url<>"" then
                 
                  Response.write "<br>" & "<br>" & "<img src=""" & billed_url & """ hight=""94"" width=""125"" & alt=""" & (alt_pic) & """ title=""" & (alt_pic) & """>"
                    end if
    billed_url = rs("billede")
                             
                  if billed_url<>"" then
                    Response.write  "<img src='" & "thumbnails100" & "/" & Mid(billed_url,10) & "' class=""rammesort"" alt=""" & (alt_pic) & """ title=""" & (alt_pic) & """ >"
                     
                      end if %>
                      <br>
                      Kommentar:
                      <%
Sql = "SELECT COUNT (*) AS Total From kommen WHERE kategori ='kategori'"
Set Rs = Conn.Execute(Sql)
Response.Write rs("Total")%>
                      </td>
                     
                    </tr>
                    <tr>
                      <td colspan="2" align="right" valign="top"><hr /></td>
                      <td align="right" valign="top"></td>
                    </tr>
                  </table></td>
        </tr>
      </table></td>
  </tr>
</table>

/Per
Avatar billede nielle Nybegynder
15. september 2007 - 17:06 #1
Du forklare ikke hvad du mener med at det ikke virker, men jeg gætter på at der sker det at den giver det samme antal for uanset hvad?

Mon ikke du skal ændre:

Sql = "SELECT COUNT (*) AS Total From kommen WHERE kategori ='kategori'"

til

Sql = "SELECT COUNT (*) AS Total From kommen WHERE kategori ='" & replace(request.querystring("id"),"'","''") & "'"
Avatar billede webbygger Nybegynder
15. september 2007 - 17:17 #2
Hej nielle

Her ser du siden http://www.lystfiskerens.net/fisk/anmeldelse.asp

Jeg vil/ville gerne kunne vis, hvor mange kommetarer der er til hver enkel anmeldelse -
både med din og mine forsøg for jeg denne fejl:

Microsoft VBScript runtime error '800a01a8'

Object required: ''

/fisk/kategori.asp, line 259
Avatar billede nielle Nybegynder
15. september 2007 - 17:35 #3
Hvad skal jeg gøre på siden for at se fejlen?

Og hvad er der omkring linje 259?

Efter fejlen at dømme har den ikke noget at gøre med din count() - ikke en gang din database. Hvorfor tror du at det er count()'en den er gal med?
Avatar billede webbygger Nybegynder
15. september 2007 - 22:36 #4
nielle - havde lige en familiemiddag der skulle overstås ;o)

Du kan ikke gøre noget for at få vist fejlen, men vist jeg indsætter dette

<%
linie 158  Sql = "SELECT COUNT (*) AS Total From kommen WHERE kategori ='kategori'"
linie 159  Set Rs = Conn.Execute(Sql)
linie 160  Response.Write rs("Total")%>

for jeg fejlen..... som du kan se på siden nu!
Avatar billede nielle Nybegynder
16. september 2007 - 09:40 #5
Er det linje 259 (som i 15/09-2007 17:17:38) eller linje 159 den er gal i?
Avatar billede nielle Nybegynder
16. september 2007 - 09:41 #6
Hvis det er 159 så tror jeg at fejlen består i at du inne har oprettet en database forbindelse som hedder "Conn".
Avatar billede webbygger Nybegynder
16. september 2007 - 10:09 #7
pokkers - jeg har skrevet forkert, det er sådan her

<%
linie 258  Sql = "SELECT COUNT (*) AS Total From kommen WHERE kategori ='" & replace(request.querystring("id"),"'","''") & "'"
linie 259  Set Rs = Conn.Execute(Sql)
linie 260  Response.Write rs("Total")%>

så der var tale om en kode 40 fejl - beklager!
Avatar billede nielle Nybegynder
16. september 2007 - 10:11 #8
Dem laver vi alle sammen. :^)

Men fejlen tyder stadig på at din Conn ikke er defineret.
Avatar billede webbygger Nybegynder
16. september 2007 - 12:11 #9
Jeg kan desværre ikke se, hva hulens der er galt!
Jeg prøver lige , at smide hele script......

<!--#include file="config.asp" --><%

dim CurPageType, CurPageInfoChk, spThemeTitle, spThemeMM
CurPageType = "core"
sPage_iName = "policy"
sPage_id = 0
CurPageInfoChk = "1"
%>
<!--#include file="inc_functions.asp" -->
<!-- #include file="includes/inc_ADOVBS.asp" -->
<%
pgname = txtErr & "!"
if Request("pg") <> "" or  Request("pg") <> " " then
    if IsNumeric(Request("pg")) = True then
        sPage_id = cLng(Request("pg"))
    else
        closeAndGo("default.asp")
    end if
end if

  'get the default layout
  if sPage_id = 0 then
    cpSQL = "select * from PORTAL_PAGES where P_iNAME = '" & sPage_iName & "'"
  else
    cpSQL = "select * from PORTAL_PAGES where P_ID = " & sPage_id & ""
  end if
  set rsCPs = my_Conn.execute(cpSQL)
  if not rsCPs.eof then
      pgtitle = rsCPs("p_title")
      pgname = rsCPs("p_name")
      if rsCPs("p_acontent") <> "" then
        pgbody = replace(rsCPs("p_acontent"),"''","'")
      else
        if rsCPs("p_content") <> "" then
          pgbody = replace(rsCPs("p_content"),"''","'")
        end if
      end if
        'left_Col = rsCPs("p_leftcol")
        maint_Col = rsCPs("p_maintop")
      mainb_Col = rsCPs("p_mainbottom")
        right_Col = rsCPs("p_rightcol")
     
      m_title = rsCPs("P_META_TITLE")
      addToMeta "NAME","Description",rsCPs("P_META_DESC")
      addToMeta "NAME","Keywords",rsCPs("P_META_KEY")
      addToMeta "HTTP-EQUIV","Expires",rsCPs("P_META_EXPIRES")
      addToMeta "NAME","Rating",rsCPs("P_META_RATING")
      addToMeta "NAME","Distribution",rsCPs("P_META_DIST")
      addToMeta "NAME","Robots",rsCPs("P_META_ROBOTS")
        'm_description = rsCPs("P_META_DESC")
        'm_keywords = rsCPs("P_META_KEY")
        'm_expires = rsCPs("P_META_EXPIRES")
        'm_rating = rsCPs("P_META_RATING")
        'm_distribution = rsCPs("P_META_DIST")
        'm_robots = rsCPs("P_META_ROBOTS")
  end if
  set rsCPs = nothing

PageTitle = m_title

function CurPageInfo ()
    PageName = pgname
    PageAction = txtBrows & "<br />"
    PageLocation = request.ServerVariables("URL")
    CurPageInfo = PageAction & "<a href=" & PageLocation & ">" & PageName & "</a>"
end function
%>


<!--#include file="inc_top.asp" -->
<%
function shoBlocks(arrCol)
    for fp = 0 to ubound(arrCol)
      fTemp = split(arrCol(fp),":")
      if ubound(fTemp) = 2 then
        fFunct = fTemp(1) & "(""" & fTemp(2) & """)"
      else
        fFunct = fTemp(1)
      end if
        execute(fFunct)
    next
end function

  cont = 0
  bLeft = false
  bMaint = false
  bMainb = false
  bRight = false
 
  if right(left_Col,1) = "," then
    left_Col = left(left_Col,len(left_Col)-1)
  end if
  if right(maint_Col,1) = "," then
    maint_Col = left(maint_Col,len(maint_Col)-1)
  end if
  if right(mainb_Col,1) = "," then
    mainb_Col = left(mainb_Col,len(mainb_Col)-1)
  end if
  if right(right_Col,1) = "," then
    right_Col = left(right_Col,len(right_Col)-1)
  end if
 
  l_col = split(left_Col,",")
  mt_col = split(maint_Col,",")
  mb_col = split(mainb_Col,",")
  r_col = split(right_Col,",")
 
  if trim(left_Col) <> "" then
    bLeft = true
    cont = cont + 1
  end if
  if trim(maint_Col) <> "" then
    bMaint = true
    cont = cont + 1
  end if
  if trim(mainb_Col) <> "" then
    bMainb = true
    cont = cont + 1
  end if
  if trim(right_Col) <> "" then
    bRight = true
    cont = cont + 1
  end if
 
  response.Write("<table class=""content"" border=""0"" width=""100%"" align=""center"" cellpadding=""0"" cellspacing=""0""><tr>")
  if bLeft then
    response.Write("<td class=""leftPgCol"" valign=""top"" nowrap=""nowrap"">")
    intSkin = getSkin(intSubSkin,1)
    shoBlocks(l_col)
    response.Write("</td>")
  end if

    response.Write("<td class=""mainPgCol"" valign=""top"">") 
    intSkin = getSkin(intSubSkin,2)
  if bMaint then
    shoBlocks(mt_col)
  end if

    %>
        <table width="100%"><tr><td>
            <%
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
  intPage = 1
End If



Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL =  "Select * From anm Where kategori = '" & replace(request.querystring("id"),"'","''") & "' ORDER BY id desc"
strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("an.mdb")
rs.Open strSQL, strDSN, 1 %>


<%
spThemeTitle= "Anmeldelse" & "&nbsp;" & "af" & "&nbsp;" & (Request.Querystring("id"))
spThemeBlock1_open(intSkin)
%>
  <%
if rs.EOF then
%>
  <b><br>
  <br>
  <br> 
<span class="kategori_tekst">
Der er desværre endnu ikke tilføjet nogle anmeldelse i denne kategori</span>
  <br> 
  <br>
  <br>
  <br>
  <br>
  <br>
  </b>
  <%
else


  rs.PageSize = 10
  rs.AbsolutePage = intPage
  intRecCount = rs.PageSize
  intPageCount = rs.PageCount
'** Paging part end

Counter = 1
'**paging ændre do util linien:
'do until rs.eof
Do While Not rs.EOF And intRecCount > 0
IF Counter = 4 Then
Counter = 1
End if
%>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td> <table width="80%" border="0" align="left" cellpadding="0" cellspacing="0">
              <tr>
          <td> <table width="80%" border="0" align="left" cellpadding="0" cellspacing="0" >
                    <tr>
                      <td align="right" valign="top"> <div align="left">
                          <p align="left"><B>
                            <% = rs("produkt") %>
                            <% = rs("butik") %>
                            </B> <br>
                            Indsendt af:&nbsp;&nbsp;
                            <% = rs("MEMBER_ID") %>
                            &nbsp;&nbsp;den&nbsp;&nbsp;
                            <% = rs("dato") %>
                            <br>
                            <br>
                            <%    Str = rs("beskrivelse") 
If len(Str) > 35 Then
  Response.write(left(Str, 35) & "  .....")
Else
  Response.Write Str
end if
                   
                    %>
                            <br>
                            <br>
                            <a href="vis.asp?rid=<% = rs("id") & "&amp;t=" & rs("kategori") %>"><B>
                            >> læs mere</B></a><br>
                            <br>
                          </p>
                          <p align="right">&nbsp; </p>
                        </div>
                        <div align="left"> </div></td>
                      <td align="right" valign="top"> <%  billed_url = rs("url")
   
                  if billed_url<>"" then
                 
                  Response.write "<br>" & "<br>" & "<img src=""" & billed_url & """ hight=""94"" width=""125"" & alt=""" & (alt_pic) & """ title=""" & (alt_pic) & """>"
                    end if
    billed_url = rs("billede")
                             
                  if billed_url<>"" then
                    Response.write  "<img src='" & "thumbnails100" & "/" & Mid(billed_url,10) & "' class=""rammesort"" alt=""" & (alt_pic) & """ title=""" & (alt_pic) & """ >"
                     
                      end if %>
                      <br>
                      Kommentar:
                      <%
Sql = "SELECT COUNT (*) AS Total From kommen WHERE kategori ='" & replace(request.querystring("id"),"'","''") & "'"
Set Rs = Conn.Execute(Sql)
Response.Write rs("Total")%>
                      </td>
                     
                    </tr>
                    <tr>
                      <td colspan="2" align="right" valign="top"><hr /></td>
                      <td align="right" valign="top"></td>
                    </tr>
                  </table></td>
        </tr>
      </table></td>
  </tr>
</table>
   
   
   

   
       

    <%
   
   
  intRecCount = intRecCount - 1
  rs.MoveNext
  Loop
End If

rs.Close
Set rs = Nothing

response.write "<div align='center'>"
response.write"<table>"

response.write"<tr>"

    response.write"<td>"
   
Response.Write "<p>Gå til side&nbsp;"
For intNum = 1 To intPageCount 

Response.Write "[<a href=""kategori.asp?page=" & intNum & "&amp;id=" & request.querystring("id") & """>" & intNum & "</a>]&nbsp;"
Next

Response.write "</td></tr><tr><td>"

Response.Write "<p>"
If Clng(intPage) > 1 Then

  Response.Write "<a href=""kategori.asp?page=" & intPage - 1 & "&amp;id=" & request.querystring("id") & """>Forrige</a> "
Else
  Response.Write "Forrige"
End If

Response.Write "&nbsp;"

If Clng(intPage) < Clng(intPageCount) Then
   
   
  Response.Write "<a href=""kategori.asp?page=" & intPage + 1 & "&amp;id=" & request.querystring("id") & """>Næste</a> "
 


 
End If
  response.write"</td>"
    response.write"</tr>"
       
    response.write "</table>"

response.write "</div>"
%> </td>
  </tr></table>
    <%
    spThemeBlock1_close(intSkin)

  if bMainb then
    shoBlocks(mb_col)
  end if
    response.Write("</td>")
 
  if bRight then
    if cont = 3 then
      response.Write("<td class=""rightPgCol"" valign=""top"" width=""195"">")
    else
      response.Write("<td class=""rightPgCol"" valign=""top"">")
    end if
    intSkin = getSkin(intSubSkin,3)
    shoBlocks(r_col)
    response.Write("</td>")
  end if
  response.Write("</tr></table>")

%>
<!--#include file="inc_footer.asp" -->
Avatar billede nielle Nybegynder
16. september 2007 - 12:50 #10
Prøv at lave en almindelig søgning på siden - så vil du opdage at Coon kun oprædet 1 ste, nemlig der at du forsøger at bruge den. Det er det ASP brokker sig over: Conn skal være defineret og åbnet som en forbindelse til din database.
Avatar billede webbygger Nybegynder
16. september 2007 - 13:59 #11
Hmm er vist derude hvor jeg ikke kan bunde......

Har fået den til at tælle alle kommentarne, men den viser "kun" sidst anmeldelse!!!

Jeg har brugt dette:
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("jerg.mdb")
Conn.Open DSN
Sql = "SELECT DISTINCTROW Sum([kommen].[kategori]) AS [Sum Of kategori], Count(*) AS [Antal Of kommen] FROM kommen"

Set Rs = Conn.Execute(Sql)
Response.Write rs("Antal Of kommen")

ved s.. snart ikke hvad jeg skal hitte på :o((
Avatar billede nielle Nybegynder
16. september 2007 - 15:33 #12
Hvordan ser din kode da ud nu?
Avatar billede webbygger Nybegynder
16. september 2007 - 16:31 #13
Nu spørge jeg nok dumt, men kan man lave forespørgelse i denne database åbening:

Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL =  "Select * From anm Where kategori = '" & replace(request.querystring("id"),"'","''") & "' ORDER BY id desc"
strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("an.mdb")???

i stedet for det, jeg prøver på nedestående som er nuværende kode!

<!--#include file="config.asp" --><%

dim CurPageType, CurPageInfoChk, spThemeTitle, spThemeMM
CurPageType = "core"
sPage_iName = "policy"
sPage_id = 0
CurPageInfoChk = "1"
%>
<!--#include file="inc_functions.asp" -->
<!-- #include file="includes/inc_ADOVBS.asp" -->
<%
pgname = txtErr & "!"
if Request("pg") <> "" or  Request("pg") <> " " then
    if IsNumeric(Request("pg")) = True then
        sPage_id = cLng(Request("pg"))
    else
        closeAndGo("default.asp")
    end if
end if

  'get the default layout
  if sPage_id = 0 then
    cpSQL = "select * from PORTAL_PAGES where P_iNAME = '" & sPage_iName & "'"
  else
    cpSQL = "select * from PORTAL_PAGES where P_ID = " & sPage_id & ""
  end if
  set rsCPs = my_Conn.execute(cpSQL)
  if not rsCPs.eof then
      pgtitle = rsCPs("p_title")
      pgname = rsCPs("p_name")
      if rsCPs("p_acontent") <> "" then
        pgbody = replace(rsCPs("p_acontent"),"''","'")
      else
        if rsCPs("p_content") <> "" then
          pgbody = replace(rsCPs("p_content"),"''","'")
        end if
      end if
        'left_Col = rsCPs("p_leftcol")
        maint_Col = rsCPs("p_maintop")
      mainb_Col = rsCPs("p_mainbottom")
        right_Col = rsCPs("p_rightcol")
     
      m_title = rsCPs("P_META_TITLE")
      addToMeta "NAME","Description",rsCPs("P_META_DESC")
      addToMeta "NAME","Keywords",rsCPs("P_META_KEY")
      addToMeta "HTTP-EQUIV","Expires",rsCPs("P_META_EXPIRES")
      addToMeta "NAME","Rating",rsCPs("P_META_RATING")
      addToMeta "NAME","Distribution",rsCPs("P_META_DIST")
      addToMeta "NAME","Robots",rsCPs("P_META_ROBOTS")
        'm_description = rsCPs("P_META_DESC")
        'm_keywords = rsCPs("P_META_KEY")
        'm_expires = rsCPs("P_META_EXPIRES")
        'm_rating = rsCPs("P_META_RATING")
        'm_distribution = rsCPs("P_META_DIST")
        'm_robots = rsCPs("P_META_ROBOTS")
  end if
  set rsCPs = nothing

PageTitle = m_title

function CurPageInfo ()
    PageName = pgname
    PageAction = txtBrows & "<br />"
    PageLocation = request.ServerVariables("URL")
    CurPageInfo = PageAction & "<a href=" & PageLocation & ">" & PageName & "</a>"
end function
%>


<!--#include file="inc_top.asp" -->
<%
function shoBlocks(arrCol)
    for fp = 0 to ubound(arrCol)
      fTemp = split(arrCol(fp),":")
      if ubound(fTemp) = 2 then
        fFunct = fTemp(1) & "(""" & fTemp(2) & """)"
      else
        fFunct = fTemp(1)
      end if
        execute(fFunct)
    next
end function

  cont = 0
  bLeft = false
  bMaint = false
  bMainb = false
  bRight = false
 
  if right(left_Col,1) = "," then
    left_Col = left(left_Col,len(left_Col)-1)
  end if
  if right(maint_Col,1) = "," then
    maint_Col = left(maint_Col,len(maint_Col)-1)
  end if
  if right(mainb_Col,1) = "," then
    mainb_Col = left(mainb_Col,len(mainb_Col)-1)
  end if
  if right(right_Col,1) = "," then
    right_Col = left(right_Col,len(right_Col)-1)
  end if
 
  l_col = split(left_Col,",")
  mt_col = split(maint_Col,",")
  mb_col = split(mainb_Col,",")
  r_col = split(right_Col,",")
 
  if trim(left_Col) <> "" then
    bLeft = true
    cont = cont + 1
  end if
  if trim(maint_Col) <> "" then
    bMaint = true
    cont = cont + 1
  end if
  if trim(mainb_Col) <> "" then
    bMainb = true
    cont = cont + 1
  end if
  if trim(right_Col) <> "" then
    bRight = true
    cont = cont + 1
  end if
 
  response.Write("<table class=""content"" border=""0"" width=""100%"" align=""center"" cellpadding=""0"" cellspacing=""0""><tr>")
  if bLeft then
    response.Write("<td class=""leftPgCol"" valign=""top"" nowrap=""nowrap"">")
    intSkin = getSkin(intSubSkin,1)
    shoBlocks(l_col)
    response.Write("</td>")
  end if

    response.Write("<td class=""mainPgCol"" valign=""top"">") 
    intSkin = getSkin(intSubSkin,2)
  if bMaint then
    shoBlocks(mt_col)
  end if

    %>
        <table width="100%"><tr><td>
            <%
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
  intPage = 1
End If



Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL =  "Select * From anm Where kategori = '" & replace(request.querystring("id"),"'","''") & "' ORDER BY id desc"
strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("an.mdb")

rs.Open strSQL, strDSN, 1 %>


<%
spThemeTitle= "Anmeldelse" & "&nbsp;" & "af" & "&nbsp;" & (Request.Querystring("id"))
spThemeBlock1_open(intSkin)
%>
  <%
if rs.EOF then
%>
  <b><br>
  <br>
  <br> 
<span class="kategori_tekst">
Der er desværre endnu ikke tilføjet nogle anmeldelse i denne kategori</span>
  <br> 
  <br>
  <br>
  <br>
  <br>
  <br>
  </b>
  <%
else


  rs.PageSize = 10
  rs.AbsolutePage = intPage
  intRecCount = rs.PageSize
  intPageCount = rs.PageCount
'** Paging part end

Counter = 1
'**paging ændre do util linien:
'do until rs.eof
Do While Not rs.EOF And intRecCount > 0
IF Counter = 4 Then
Counter = 1
End if
%>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td> <table width="80%" border="0" align="left" cellpadding="0" cellspacing="0">
              <tr>
          <td> <table width="80%" border="0" align="left" cellpadding="0" cellspacing="0" >
                    <tr>
                      <td align="right" valign="top"> <div align="left">
                          <p align="left"><B>
                            <% = rs("produkt") %>
                            <% = rs("butik") %>
                            </B> <br>
                            Indsendt af:&nbsp;&nbsp;
                            <% = rs("MEMBER_ID") %>
                            &nbsp;&nbsp;den&nbsp;&nbsp;
                            <% = rs("dato") %>
                            <br>
                            <br>
                            <%    Str = rs("beskrivelse") 
If len(Str) > 35 Then
  Response.write(left(Str, 35) & "  .....")
Else
  Response.Write Str
end if
                   
                    %>
                            <br>
                            <br>
                            <a href="vis.asp?rid=<% = rs("id") & "&amp;t=" & rs("kategori") %>"><B>
                            >> læs mere</B></a><br>
                            <br>
                          </p>
                          <p align="right">&nbsp; </p>
                        </div>
                        <div align="left"> </div></td>
                      <td align="right" valign="top"> <%  billed_url = rs("url")
   
                  if billed_url<>"" then
                 
                  Response.write "<br>" & "<br>" & "<img src=""" & billed_url & """ hight=""94"" width=""125"" & alt=""" & (alt_pic) & """ title=""" & (alt_pic) & """>"
                    end if
    billed_url = rs("billede")
                             
                  if billed_url<>"" then
                    Response.write  "<img src='" & "thumbnails100" & "/" & Mid(billed_url,10) & "' class=""rammesort"" alt=""" & (alt_pic) & """ title=""" & (alt_pic) & """ >"
                     
                      end if %>
                      <br>
                      Kommentar:
                      <%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("an.mdb")
Conn.Open DSN
Sql = "SELECT DISTINCTROW Sum([kommen].[kategori]) AS [Sum Of kategori], Count(*) AS [Antal Of kommen] FROM kommen"

Set Rs = Conn.Execute(Sql)
Response.Write rs("Antal Of kommen")

%>
                      </td>
                     
                    </tr>
                    <tr>
                      <td colspan="2" align="right" valign="top"><hr /></td>
                      <td align="right" valign="top"></td>
                    </tr>
                  </table></td>
        </tr>
      </table></td>
  </tr>
</table>
   
   
   

   
       

    <%
   
   
  intRecCount = intRecCount - 1
  rs.MoveNext
  Loop
End If

rs.Close
Set rs = Nothing

response.write "<div align='center'>"
response.write"<table>"

response.write"<tr>"

    response.write"<td>"
   
Response.Write "<p>Gå til side&nbsp;"
For intNum = 1 To intPageCount 

Response.Write "[<a href=""kategori.asp?page=" & intNum & "&amp;id=" & request.querystring("id") & """>" & intNum & "</a>]&nbsp;"
Next

Response.write "</td></tr><tr><td>"

Response.Write "<p>"
If Clng(intPage) > 1 Then

  Response.Write "<a href=""kategori.asp?page=" & intPage - 1 & "&amp;id=" & request.querystring("id") & """>Forrige</a> "
Else
  Response.Write "Forrige"
End If

Response.Write "&nbsp;"

If Clng(intPage) < Clng(intPageCount) Then
   
   
  Response.Write "<a href=""kategori.asp?page=" & intPage + 1 & "&amp;id=" & request.querystring("id") & """>Næste</a> "
 


 
End If
  response.write"</td>"
    response.write"</tr>"
       
    response.write "</table>"

response.write "</div>"
%> </td>
  </tr></table>
    <%
    spThemeBlock1_close(intSkin)

  if bMainb then
    shoBlocks(mb_col)
  end if
    response.Write("</td>")
 
  if bRight then
    if cont = 3 then
      response.Write("<td class=""rightPgCol"" valign=""top"" width=""195"">")
    else
      response.Write("<td class=""rightPgCol"" valign=""top"">")
    end if
    intSkin = getSkin(intSubSkin,3)
    shoBlocks(r_col)
    response.Write("</td>")
  end if
  response.Write("</tr></table>")

%>
<!--#include file="inc_footer.asp" -->
Avatar billede nielle Nybegynder
16. september 2007 - 16:35 #14
> Nu spørge jeg nok dumt, men kan man lave forespørgelse i denne database åbening:
>
> Set rs = Server.CreateObject("ADODB.RecordSet")
> strSQL =  "Select * From anm Where kategori = '" & replace(request.querystring
> ("id"),"'","''") & "' ORDER BY id desc"
> strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("an.mdb")???

Ja, det kan du sagtens. Der er kun brug for en database-connectionn. I den viste stump kode mangler du dog at åbne den.
Avatar billede webbygger Nybegynder
16. september 2007 - 17:18 #15
Bliver den ikke åbent med denne linie:

"rs.Open strSQL, strDSN, 1"

Nu har jeg prøvet dette:

Kommentar:
<%     
Sql2 = "SELECT COUNT (*) AS Total From kommen WHERE kategori ='" & replace(request.querystring("id"),"'","''") & "'"
Set Rs2 = Conn.Execute(Sql2)
Response.Write rs("Total")%>......og med samme dårlige resultat!!!
Avatar billede nielle Nybegynder
16. september 2007 - 17:41 #16
Både ja og nej. Den bliver godt nok åbnet, men kun til den ene rs som du har angivet der. Det kan du ikke bruge, hvis du har brug for at afvikle mere end een SQL-sætning.
Avatar billede webbygger Nybegynder
16. september 2007 - 18:02 #17
Kan man ikke gøre sådan her:

"rs.Open strSQL, Sql2, strDSN, 1" for at åbne den næste forespørgelse?
Avatar billede nielle Nybegynder
16. september 2007 - 18:05 #18
Jo, men hvis du ikke ændre det der rs så overskriver du resultatet fra sidste gang. Det dur ikke hvis du er ved at løbe den første igennem i en løkke.
Avatar billede webbygger Nybegynder
16. september 2007 - 18:45 #19
Hmmm .... tror jeg må finde på noget andet, da jeg simpelhen ikke forstår det....

Smider du et svar nielle, så du kan få lidt for besværte?
Avatar billede nielle Nybegynder
16. september 2007 - 19:19 #20
Du skal bare halde den ene for rs1 og den anden for rs2 - så skulle der ikke være nogen problemer.
Avatar billede webbygger Nybegynder
16. september 2007 - 19:36 #21
Når jeg bruger denne kode:

"rs.Open strSQL, Sql2, strDSN, 1"  <--- linie 168
får jeg denne fejl

Provider error '80020005'

Type mismatch.

/fisk/kategori.asp, line 168
Avatar billede nielle Nybegynder
16. september 2007 - 20:50 #22
Det skal vel også være:

"rs2.Open strSQL, Sql2, strDSN, 1"

- og du skal have en:

Set rs2 = Server.CreateObject("ADODB.RecordSet")
Avatar billede webbygger Nybegynder
16. september 2007 - 21:20 #23
Har nok misforstået det "igen" - jeg har gjort således

Set rs = Server.CreateObject("ADODB.RecordSet")
Set rs2 = Server.CreateObject("ADODB.RecordSet")
strSQL =  "Select * From anm Where kategori = '" & replace(request.querystring("id"),"'","''") & "' ORDER BY id desc"
strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("an.mdb")
rs.Open strSQL, strDSN, 1
rs2.Open strSQL, Sql2, strDSN, 1

Og der får jeg den samme fejl:

 
 
Kommentar:
Microsoft VBScript runtime error '800a01a8'

Object required: ''

/fisk/kategori.asp, line 264


Sql2 = "SELECT COUNT (*) AS Total From kommen WHERE kategori ='" & replace(request.querystring("id"),"'","''") & "'"
/Linie 264/ Set Rs2 = Conn.Execute(Sql2)
Response.Write rs2("Total")
Avatar billede nielle Nybegynder
17. september 2007 - 06:51 #24
Du skal rette:

rs2.Open strSQL, Sql2, strDSN, 1

til:

rs2.Open Sql2, strDSN, 1

Desuden skal sql2 være defineret på det tidspunkt hvor du gør dette.
Avatar billede webbygger Nybegynder
17. september 2007 - 20:27 #25
Hej nielle - så har jeg rodet lidt med det igen......

Jeg bruger pt. denne kode

  Kommentar:
<%             
Sql2 = "SELECT COUNT (*) AS Total From kommen WHERE kategori ='" & replace(request.querystring("id"),"'","''") & "'"
Linie 264 rs2.Open Sql2, strDSN, 1
Response.Write rs2("Total")%>

Men jeg får denne fejl:

Microsoft JET Database Engine error '80040e07'

Data type mismatch in criteria expression.

/fisk/kategori.asp, line 264

Jeg har prøvet denne forespørgelse
"SELECT COUNT (Id) AS Total From anm WHERE kategori ='74'"
og der køret den helt fint den første post som er ID 74.....
kan jeg har ret i, at der er noget galt med den "rigtige" forespørgelse:

Sql2 = "SELECT COUNT (*) AS Total From kommen WHERE kategori ='" & replace(request.querystring("id"),"'","''") & "'"???
Avatar billede nielle Nybegynder
17. september 2007 - 20:30 #26
Hvis kategori er et tal skal der ikke '-tegn rundt om det.

Prøv med:

Sql2 = "SELECT COUNT (*) AS Total From kommen WHERE kategori = " & replace(request.querystring("id"), "'", "''")
Avatar billede webbygger Nybegynder
17. september 2007 - 20:40 #27
Ja - kategori er et tal.....
Nu har jeg koden og for denne fejl

Microsoft JET Database Engine error '80040e14'

Syntax error (missing operator) in query expression 'kategori = Andre hjul'.

/fisk/kategori.asp, line 264
Avatar billede nielle Nybegynder
17. september 2007 - 20:43 #28
Øhm? "Andre hjul" er da ikke et tal?
Avatar billede webbygger Nybegynder
17. september 2007 - 20:44 #29
mystik - for på nogen kategorier denne fejl:

Microsoft JET Database Engine error '80040e10'

No value given for one or more required parameters.

/fisk/kategori.asp, line 264
Avatar billede nielle Nybegynder
17. september 2007 - 20:46 #30
Gætter på at kategori er tom i de tilfælde?
Avatar billede webbygger Nybegynder
17. september 2007 - 20:51 #31
tænketænke........

Både og som du kan se her http://www.lystfiskerens.net/fisk/kategori.asp?id=Spinnestænger er ID bogstaver i tabellen anm, men når jeg gemmer kommetar i tabellen kommen bliver den gemt som et tal "anmeldelsen ID"!
Avatar billede nielle Nybegynder
17. september 2007 - 21:04 #32
Dine SQL-sætninger skal stemme ov erens med hvordan felterne er defineret i din e tabeller:

Hvis det er tekst felter skal der '-tegn rundt om i SQL-sætningen.
Hvis det er tal felter skal det ikke noget uden om i SQL-sætningen.
Hvis det er dato felter skal der #-tegn uden om i SQL-sætningen.
Avatar billede webbygger Nybegynder
18. september 2007 - 09:21 #33
Det er tal jeg skal hentet, men det er ikke " & replace(request.querystring("id"), "'", "''") da dette er selve kategorien (i tabel anm.)hvor jeg anmeldelser i den ønskede kategori. Jeg ville/skal så hentet hvor mange kommentar der er i hver af enkel af de ønskede anmelder - ved ikke om jeg har forklaret mig godt nok?

Så jeg er kommet i tænke om man ikke skal lave forespørgelse samme med denne her

strSQL =  "Select * From anm Where kategori = '" & replace(request.querystring("id"),"'","''") & "' ORDER BY id desc" ???
Avatar billede nielle Nybegynder
18. september 2007 - 09:25 #34
Denne:

replace(request.querystring("id"), "'", "''")

bør *altid* være der selv om du forventer at der er tale om tal eller andet ikke-tekst. Den beskytter simpelthen imod den hacker-teknink som kaldes for SQL-injection.
Avatar billede webbygger Nybegynder
18. september 2007 - 09:36 #35
Det jeg mener er, at kan man ikke få den til at tælle kommentar i kategorien (i tabel anm.) i samme sætning, for det er jo her den finder de ønskede anmeldelser?
Avatar billede nielle Nybegynder
18. september 2007 - 09:45 #36
Mit råd er at du prøver at lave en løsning, hvor at du til at starte med ignorere al HTML-koden. På den måde kan du koncentrere dig om hvordan SQL-kaldene skal strikkes sammen i forhold til hinanden. Lige nu er det meget svært at overskue den logiske struktur i programmet for alt det HTML du har.
Avatar billede webbygger Nybegynder
18. september 2007 - 10:38 #37
Det vil jeg prøve i aften..... forsat go dag ;o))
Avatar billede nielle Nybegynder
24. september 2007 - 20:57 #38
Har du fået prøvet det?
Avatar billede webbygger Nybegynder
25. september 2007 - 18:38 #39
Hej nielle

Jeg har prøvet det ene og det andet med det samme resultat :o((

Jeg har prøvet i access, at lave en SQL forespørgelse og den virker godt nok der, men jeg kan ikke flette den ind i mit script!
Forespørgelse ser sådan ud:

SELECT DISTINCTROW kommen.kategori, Count(*) AS [Antal Of kommen] FROM kommen GROUP BY kommen.kategori
og mit script ser sådan ud - uden HTML kode "næsten"

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<%

intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
  intPage = 1
End If


Set rs = Server.CreateObject("ADODB.RecordSet")
Set rs2 = Server.CreateObject("ADODB.RecordSet")
strSQL =  "Select * From anm Where kategori = '" & replace(request.querystring("id"),"'","''") & "' ORDER BY id desc"
strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("an.mdb")
rs.Open strSQL, strDSN, 1

if rs.EOF then
%>
  <b><br>
  <br>
  <br> 
<span class="kategori_tekst">
Der er desværre endnu ikke tilføjet nogle anmeldelse i denne kategori</span>

  <%
else


  rs.PageSize = 10
  rs.AbsolutePage = intPage
  intRecCount = rs.PageSize
  intPageCount = rs.PageCount
'** Paging part end

Counter = 1
'**paging ændre do util linien:
'do until rs.eof
Do While Not rs.EOF And intRecCount > 0
IF Counter = 4 Then
Counter = 1
End if
%>


                            <% = rs("produkt") %>
                            <% = rs("butik") %>
                            </B> <br>
                            Indsendt af:&nbsp;&nbsp;
                            <% = rs("MEMBER_ID") %>
                            &nbsp;&nbsp;den&nbsp;&nbsp;
                            <% = rs("dato") %>
                            <br>
                            <br>
                            <%    Str = rs("beskrivelse") 
If len(Str) > 35 Then
  Response.write(left(Str, 35) & "  .....")
Else
  Response.Write Str
end if
                   
                    %>
                            <br>
                            <br>
                            <a href="vis.asp?rid=<% = rs("id") & "&amp;t=" & rs("kategori") %>"><B>
                            >> læs mere</B></a><br>
                            <br>
                          <%  billed_url = rs("url")
   
                  if billed_url<>"" then
                 
                  Response.write "<br>" & "<br>" & "<img src=""" & billed_url & """ hight=""94"" width=""125"" & alt=""" & (alt_pic) & """ title=""" & (alt_pic) & """>"
                    end if
    billed_url = rs("billede")
                             
                  if billed_url<>"" then
                    Response.write  "<img src='" & "thumbnails100" & "/" & Mid(billed_url,10) & "' class=""rammesort"" alt=""" & (alt_pic) & """ title=""" & (alt_pic) & """ >"
                     
                      end if %>
                      <br>
                   
Kommentar:                      <%
Sql2 = "SELECT COUNT (*) AS Total From kommen WHERE kategori = " & replace(request.querystring("id"), "'", "''")

rs2.Open Sql2, strDSN, 1
Response.Write rs2("Total") & "<br>"


  intRecCount = intRecCount - 1
  rs.MoveNext
  Loop
End If

rs.Close
Set rs = Nothing

%>
       
   



</body>
</html>
Avatar billede nielle Nybegynder
27. september 2007 - 19:51 #40
Udskriver den ikke bare det samme antal under "kommentarer" for hver post?

Der er jo ihvert fald ikke noget i din SQL #2:

sql2 = "SELECT COUNT(*) AS total FROM kommen WHERE kategori = " & Replace(Request.QueryString("id"), "'", "''")

som referere til de rækker du udtrækker med den første:

strSQL =  "SELECT * FROM anm WHERE kategori = '" & Replace(Request.QueryString("id"), "'", "''") & "' ORDER BY id DESC"
Avatar billede webbygger Nybegynder
27. september 2007 - 22:26 #41
Hej,

Den tæller ikke noget pt. den viser denne fejl

Microsoft JET Database Engine error '80040e10'

No value given for one or more required parameters.

/fisk/kategoritest.asp, line 91

Jeg ved efterhåndende ikke hvad jeg skal finde på!!!
Avatar billede nielle Nybegynder
27. september 2007 - 22:30 #42
Hvad står der i linje 91?
Avatar billede webbygger Nybegynder
27. september 2007 - 22:32 #43
/rs2.Open Sql2, strDSN, 1/
Avatar billede webbygger Nybegynder
27. september 2007 - 22:47 #44
Nu skal du se nielle.....

med denne her /Sql2 = "SELECT COUNT (*) AS Total From kommen WHERE kategori="&rs("id")/

for jeg den til at tælle første post og så kommer denne fejl

ADODB.Recordset error '800a0e79'

Operation is not allowed when the object is open.

/fisk/kategoritest.asp, line 93 > /rs2.Open Sql2, strDSN, 1/
Avatar billede nielle Nybegynder
27. september 2007 - 22:55 #45
Du skal huske at lukke rs2 når du er færdig med at bruge den. EDen bliver jo åbnet i hvert løkke-gennemløb - så det går galt 2. gang den er på vej igennem den ydre løkke.
Avatar billede webbygger Nybegynder
28. september 2007 - 13:13 #46
Kanon............. nu virker det - hvad stort set opgivet det

det her spiller

Sql2 = "SELECT COUNT (*) AS Total From kommen WHERE kategori="&rs("id")
rs2.Open Sql2, strDSN, 1
Response.Write rs2("Total") & "<br>"
rs2.Close

Tak for din vedholdenhed nielle ;o))
Avatar billede nielle Nybegynder
28. september 2007 - 16:39 #47
:^)
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