webForumDet fria alternativet

Konstigt med sidnavigering

ASP

11 svar · 296 visningar · startad av Asa

Medlem sedan dec. 20011 860 inlägg
Frågan#1

Har en sida där jag listar alla rekryteringar. Man hämtar först alla medlemmar från databasen och sen ska den räkna ihop hur många som har värvats. Om antalet blir mer än 0 ska personen inte skrivas ut och är det mer än 0 ska det skrivas ut.

Nu har jag problem att få det att funka. Med denna kod så tror ju koden att den ska räkna alla poster och dela de på sidor men de tär ju inte så jag vill ha det.

Jag vill ha så att bara de som har mer än 0 ska räknas ihop och sen dela upp dom på flera sidor! Nån som kan hjälpa till?!

Koden för sidan:

<%Set RS = Server.CreateObject("ADODB.Recordset")

Sidan = Request.QueryString("sida")
If Sidan = "" then 
  sida = 1 
Else 
  sida = Sidan 
End If 

RS.CursorLocation = 3
RS.CacheSize = PSUSERS

SQL = "Select * From users Order By anvnamn"
RS.Open SQL, Conn%>

<table width="100%" border="0" cellspacing="0" cellpadding="2">
  <tr>
    <td valign="top" style="border-bottom: 1px solid <%=LINJE%>"><font size="2"><b>Alla rekryteringar</b></font></td>
  </tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="2" align="center">
<%If RS.EOF Then%>
  <tr>
    <td colspan="3">Ingen har rekryterat!</td>
  </tr>
<%Else%>
  <tr bgcolor="<%=BG%>">
    <td width="50%"><b>Namn</b></td>
    <td width="15%" align="center"><b>Rekryterat</b></td>
    <td width="20%" align="center"><b>Rekryt m VIP</b></td>
    <td width="15%" align="center"><b>Ratio</b></td>
  </tr>
<%RS.MoveFirst 
RS.PageSize = PSUSERS
RS.AbsolutePage = sida

Sidor =  RS.PageCount
Y = 0 
Do While Not RS.EOF And Y < RS.PageSize
If y Mod 2 = 0 then 
   color = "#F2F2F2" 
Else 
  color = "" 
End If
birthdate= CDate(RS("ar")&"-"&RS("man")&"-"&RS("dag"))
Set Antal=Conn.Execute("Select Count(*) as antal From users Where sponsor='" & RS("anvnamn") & "'")
If Antal("antal") > 0 Then
  Dim Antal2
  Set Antal2=Conn.Execute("Select Count(*) as antal2 From users Where sponsor='" & RS("anvnamn") & "' and vip=1")%>
    <tr height="24">
      <td bgcolor="<%=color%>" style="border-bottom: 1px solid #cccccc">
        <a href="rekryt.asp?id=<%=RS("userid")%>"><b>VISA</b></a> | <b>
        <%If RS("status") = "1" Then%>
          <img src="gfx/online.gif" alt="Online">
        <%Else%>
          <img src="gfx/offline.gif" alt="Offline">
        <%End If%> 
        <a href="chippin.asp?id=<%=RS("userid")%>"><%=Server.HTMLEncode(RS("anvnamn"))%></a></b> 
        <%If RS("kon") = 1 Then%>F<%Else%>P<%End If%><%=Birth(birthdate)%>
      </td>
      <td bgcolor="<%=color%>" style="border-bottom: 1px solid #cccccc" align="center"><%=Antal("antal")%> st</td>
      <td bgcolor="<%=color%>" style="border-bottom: 1px solid #cccccc" align="center"><%=Antal2("antal2")%> st</td>
      <td bgcolor="<%=color%>" style="border-bottom: 1px solid #cccccc" align="center"><%=Round((Antal2("antal2")/Antal("antal")) * 100,0)%> % är VIP</td>
    </tr>
  <%Antal2.Close
  Set Antal2=Nothing
End If
y=y+1
Antal.Close
Set Antal=Nothing
RS.MoveNext
Loop
If Sidor > 1 Then%>
  <tr>
    <td width="50%">
      <%If (Int(sida)) <> 1 Then%>
        <a href="rekrytering.asp?sida=<%=(Int(sida)-1)%>"><< <b>Bakåt</b></a>
      <%Else%>
         
      <%End If%>
    </td>
    <td width="50%" colspan="3" align="right">
      <%If (Int(sida)) <> (Int(Sidor)) Then%>
        <a href="rekrytering.asp?sida=<%=(Int(sida)+1)%>"><b>Framåt</b> >></a>
      <%Else%>
         
      <%End If%>
    </td>
  </tr>
<%End If
End If%>
</table>
<%RS.Close
Set RS=Nothing%>
Medlem sedan apr. 20031 660 inlägg
#2

HEJ!

Alldeles för mycket kod för mig att sätta mig in i, men varför hämtar du personer som du inte ska skriva ut?

Vore det inte enklare att sila bort dem redan i frågan?

Medlem sedan dec. 20011 860 inlägg
#3

Har frågat om hur jag ska slå ihop de 3 sqlérna och fick detta som svar. Kolla tråden.
http://www.webforum.nu/showthread.php?s=&threadid=92820&forumid=53

Medlem sedan dec. 20011 860 inlägg
#4

Ingen som har nån idé???

Medlem sedan dec. 20011 860 inlägg
#5

Nähää, ingen verkar veta nåt! :( :(

Medlem sedan dec. 20011 860 inlägg
#6

Men kom igen nu då! Nån måste ju ha nåt bättre upplägg på hur man får till sidnavigeringen?!

Medlem sedan apr. 20031 660 inlägg
#7

HEJ!

Du verkar vara helt strandsatt :(

Sidnavigeringsexempel finns det en uppsjö av på internet, den jag använder kommer därifrån.

Sedan är jag inte klar över om du vill ha detta svar, eller om du vill ha svar på hur

Jag vill ha så att bara de som har mer än 0 ska räknas ihop...

ska lösas? Som du har fått svar på i en annan tråd tydligen.

Medlem sedan dec. 20011 860 inlägg
#8

Har inte fått det svar jag söker än. :(

Medlem sedan jan. 2003296 inlägg
#9

Testa att ändra första SQL-frågan till något åt det här hållet:

SQL = "SELECT * FROM users u WHERE (SELECT COUNT(1) FROM users ru WHERE ru.sponsor = u.anvnamn) > 0 ORDER BY u.anvnamn"
Medlem sedan dec. 20011 860 inlägg
#10

Ska testa

Medlem sedan dec. 20011 860 inlägg
#11

Verkar ej fungera.

Medlem sedan jan. 2003296 inlägg
#12

Blir det fel när frågan körs?
Eller fungerar frågan, men den rättar inte till ditt problem?

136 ms totalt · 2 externa anrop · v20260731065814-full.2ae45ccc
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)