Avatar billede aventic Nybegynder
24. juni 2004 - 23:02 Der er 23 kommentarer og
1 løsning

Looper totalt forkert

Hey... mit asp script looper helt forkert .. håber det er til at finde ud af..

Lige lidt som det skal være:

Det skal være sårn at mailafsender står ned af med det rigtige id så den linker til brugerens egen profil !!

på forhånd tak for hjælpen :D


<% if mode = "indbakke" then

'Tjecker om brugeren er logget ind
if session("brugernavn") = "" then
Response.Redirect("iframe.asp?vis=login")
end if
                                         
'Opbygger recordset
set rs = Conn.Execute("select * From mail where mailModtager = '" & Session("brugernick") & "' order by mailDato desc")
set rs3 = Conn.Execute("select * From bruger where id")

%>

<br>
                       
<table width="96%" border="0" align="center" cellpadding="0" cellspacing="0" style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid">
<tr>
<td height="54" valign="top"><table width="100%" border="0" cellspacing="1" cellpadding="1">
<tr>
<td width="9%" height="30" background="img/bar.gif">&nbsp;</td>
<td width="38%"  background="img/bar.gif"><center><p><b>Overskrift</b></p></center></td>
<td width="28%"  background="img/bar.gif"><center><p><b>Afsender</b></p></center></td>
<td width="25%" background="img/bar.gif"><center><p><b>Skrevet d.</b></p></center></td>
</tr>
       
<% if rs.eof or rs.bof then %>

<tr>
<td valign="top"></td>
<td valign="top"><p>Du har ingen Beskeder i din Indbakke.</p></td>
</tr>

<% else
Do until rs.eof %>
<tr>
       
<td height="30" valign="middle">     
<center><p>     
<%
'Forskelligt billede alt efter om emailen er læst/ulæst
if rs("mailread") <> True then %>
<img src="img/mail_unread.gif">
<% else %>
<img src="img/mail_read.gif">
<% end if %></p></center>
</td>

<td valign="middle"><p><b><a href="iframe.asp?vis=laesmail&mailid=<%=rs("mailid")%>"><%=rs("mailEmne")%></a></b></p></td>
<td valign="middle">

<% Do While Not rs3.EOF
set rs2 = Conn.Execute("select * From mail where mailModtager = '" & Session("brugernick") & "' order by mailDato desc")
%>
           
<center><p><b><a href="iframe.asp?vis=vispersonprofil&id=<%=rs3("id")%>"><%=rs2("mailAfsender")%></a></b></p></center>
           
<%       
rs3.Movenext
Loop   
%>

</td>         
<td valign="middle"><center><p><%=rs("mailDato")%></p></center></td>

<% rs.movenext
loop
end if %>

</tr>
</table>
</td>
</tr>
</table>

<center><p><b><a href="java script:history.back()">Tilbage</a></b></p></center>

<br>
                       
<%
rs.close
end if %>
Avatar billede goose Nybegynder
25. juni 2004 - 07:59 #1
Jeg er måske lidt forvirret over dit script, men det der falder mig lidt i øjnene er:

set rs3 = Conn.Execute("select * From bruger where id")

where id = hvad, mangler der ikke noget her?

Forslag:

set rs = Conn.Execute("select * From mail where mailModtager = '" & Session("brugernick") & "' order by mailDato desc")
set rs3 = Conn.Execute("select * From bruger where BRUGERNAVN = '" & Session("brugernick") & "')

BRUGERNAVN skal du så lige rette til det korrekte tabelnavn i databasen.

/Goose
Avatar billede goose Nybegynder
25. juni 2004 - 08:00 #2
hov, skulle vist være:

set rs = Conn.Execute("select * From mail where mailModtager = '" & Session("brugernick") & "' order by mailDato desc")
set rs3 = Conn.Execute("select * From bruger where BRUGERNAVN = '" & Session("brugernick") & "'")

/Goose
Avatar billede aventic Nybegynder
25. juni 2004 - 12:40 #3
Virker ikk rigtig ... kan godt se det er lidt rodet men ... tak for hjælpen ellers :D
Avatar billede goose Nybegynder
25. juni 2004 - 12:52 #4
hvad er det der går galt, får du nogen fejl eller ?

/Goose
Avatar billede aventic Nybegynder
25. juni 2004 - 12:53 #5
Den looper ikk navnet
Avatar billede aventic Nybegynder
25. juni 2004 - 12:57 #6
eller <%=rs2("mailAfsender")%
Avatar billede aventic Nybegynder
25. juni 2004 - 12:57 #7
<%=rs2("mailAfsender")%> bliver ikk loopet kun en gang bliver den vist
Avatar billede goose Nybegynder
25. juni 2004 - 13:10 #8
jeg tror du skal have flyttet:
set rs3 = Conn.Execute("select * From bruger where BRUGERNAVN = '" & Session("brugernick") & "')

ned efter du er begyndt at loope, i øjeblikket ligger den før loopet af rs.

Prøv og flyt den ned efter:
<% else
Do until rs.eof %>


/Goose
Avatar billede aventic Nybegynder
25. juni 2004 - 13:14 #9
Ja men nu viser den ingen <%=rs2("mailAfsender")%>

så kan ikk se om det virker
:(
Avatar billede aventic Nybegynder
25. juni 2004 - 13:15 #10
hmm laved li rs3 om til denne

set rs3 = Conn.Execute("select * From bruger where BRUGERNAVN")

så skete der noget men nu står der bare det samme navn hele vejen ned ???
Avatar billede goose Nybegynder
25. juni 2004 - 13:19 #11
Du har tilsyneladende lidt rod i dine loops, hvordan ser dit script ud nu ?

/Goose
Avatar billede aventic Nybegynder
25. juni 2004 - 13:20 #12
<% if mode = "indbakke" then

'Tjecker om brugeren er logget ind
if session("brugernavn") = "" then
Response.Redirect("iframe.asp?vis=login")
end if
                                         
'Opbygger recordset
set rs = Conn.Execute("select * From mail where mailModtager = '" & Session("brugernick") & "' order by mailDato desc")

%>

<br>
                       
<table width="96%" border="0" align="center" cellpadding="0" cellspacing="0" style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid">
<tr>
<td height="54" valign="top"><table width="100%" border="0" cellspacing="1" cellpadding="1">
<tr>
<td width="9%" height="30" background="img/bar.gif">&nbsp;</td>
<td width="38%"  background="img/bar.gif"><center><p><b>Overskrift</b></p></center></td>
<td width="28%"  background="img/bar.gif"><center><p><b>Afsender</b></p></center></td>
<td width="25%" background="img/bar.gif"><center><p><b>Skrevet d.</b></p></center></td>
</tr>
       
<% if rs.eof or rs.bof then %>

<tr>
<td valign="top"></td>
<td valign="top"><p>Du har ingen Beskeder i din Indbakke.</p></td>
</tr>

<% else
Do until rs.eof
set rs3 = Conn.Execute("select * From bruger where BRUGERNAVN")
%>


<tr>
       
<td height="30" valign="middle">     
<center><p>     
<%
'Forskelligt billede alt efter om emailen er læst/ulæst
if rs("mailread") <> True then %>
<img src="img/mail_unread.gif">
<% else %>
<img src="img/mail_read.gif">
<% end if %></p></center>
</td>

<td valign="middle"><p><b><a href="iframe.asp?vis=laesmail&mailid=<%=rs("mailid")%>"><%=rs("mailEmne")%></a></b></p></td>

<td valign="middle">

<% Do While Not rs3.EOF
set rs2 = Conn.Execute("select * From mail")
%>
           
<center><p><b><a href="iframe.asp?vis=vispersonprofil&id=<%=rs3("id")%>"><%=rs2("mailAfsender")%></a></b></p></center>
           
<%       
rs3.Movenext
Loop 
%> 

</td>   
   
<td valign="middle"><center><p><%=rs("mailDato")%></p></center></td>

<% rs.movenext
loop
end if %>

</tr>
</table>
</td>
</tr>
</table>

<center><p><b><a href="java script:history.back()">Tilbage</a></b></p></center>

<br>
                       
<%
rs.close
end if %>
Avatar billede goose Nybegynder
25. juni 2004 - 13:27 #13
hvordan ser din tabel ud i databasen der hedder: bruger

feltnavne og type ?

/Goose
Avatar billede aventic Nybegynder
25. juni 2004 - 13:30 #14
ahh der er mange !
Avatar billede aventic Nybegynder
25. juni 2004 - 13:31 #15
Brugernavn
Brugernick

Type: NOTAT
Avatar billede goose Nybegynder
25. juni 2004 - 13:34 #16
Prøv at bruge nedenstående, dog skal du lige rette følgende linier:

set rs3 = Conn.Execute("select * From bruger where brugernavn ='"& rs("MAILAFSENDER") &"'")

- hvor du skal rette MAILAFSENDER til det rigtige.

Derudover kan jeg godt forstå du ikke kan få >"><%=rs2("mailAfsender")%> til at virke, du åbner jo ikke rs2 nogen steder ?


<% if mode = "indbakke" then

'Tjecker om brugeren er logget ind
if session("brugernavn") = "" then
Response.Redirect("iframe.asp?vis=login")
end if
                                         
'Opbygger recordset
set rs = Conn.Execute("select * From mail where mailModtager = '" & Session("brugernick") & "' order by mailDato desc")

%>

<br>
                       
<table width="96%" border="0" align="center" cellpadding="0" cellspacing="0" style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid">
<tr>
<td height="54" valign="top"><table width="100%" border="0" cellspacing="1" cellpadding="1">
<tr>
<td width="9%" height="30" background="img/bar.gif">&nbsp;</td>
<td width="38%"  background="img/bar.gif"><center><p><b>Overskrift</b></p></center></td>
<td width="28%"  background="img/bar.gif"><center><p><b>Afsender</b></p></center></td>
<td width="25%" background="img/bar.gif"><center><p><b>Skrevet d.</b></p></center></td>
</tr>
       
<% if rs.eof or rs.bof then %>

<tr>
<td valign="top"></td>
<td valign="top"><p>Du har ingen Beskeder i din Indbakke.</p></td>
</tr>

<% else
Do until rs.eof
set rs3 = Conn.Execute("select * From bruger where brugernavn ='"& rs("MAILAFSENDER") &"'")
%>


<tr>
       
<td height="30" valign="middle">     
<center><p>     
<%
'Forskelligt billede alt efter om emailen er læst/ulæst
if rs("mailread") <> True then %>
<img src="img/mail_unread.gif">
<% else %>
<img src="img/mail_read.gif">
<% end if %></p></center>
</td>

<td valign="middle"><p><b><a href="iframe.asp?vis=laesmail&mailid=<%=rs("mailid")%>"><%=rs("mailEmne")%></a></b></p></td>

<td valign="middle">

<% Do While Not rs3.EOF
set rs2 = Conn.Execute("select * From mail")
%>
           
<center><p><b><a href="iframe.asp?vis=vispersonprofil&id=<%=rs3("id")%>"><%=rs3("mailAfsender")%></a></b></p></center>
           
<%       
rs3.Movenext
Loop 
%> 

</td>   
   
<td valign="middle"><center><p><%=rs("mailDato")%></p></center></td>

<% rs.movenext
loop
end if %>

</tr>
</table>
</td>
</tr>
</table>

<center><p><b><a href="java script:history.back()">Tilbage</a></b></p></center>

<br>
                       
<%
rs.close
end if %>

/Goose
Avatar billede aventic Nybegynder
25. juni 2004 - 13:38 #17
Har ikke en rs("MAILAFSENDER") i min bruger tabel i databasen ?
Avatar billede goose Nybegynder
25. juni 2004 - 13:39 #18
undskyld, du åbner godt nok rs2, det overså jeg lige .. :o(

jeg skal desværre på job ...... men held og lykke

/Goose
Avatar billede goose Nybegynder
25. juni 2004 - 13:40 #19
næe, men det har du vel i tabellen: mail som rs refererrer til ?

/Goose
Avatar billede aventic Nybegynder
25. juni 2004 - 13:41 #20
:P JAH
Avatar billede aventic Nybegynder
25. juni 2004 - 13:49 #21
Nå men det virker ikk .... finder nok på noget andet ... tak for hjælpen ellers
Avatar billede goose Nybegynder
26. juni 2004 - 12:23 #22
Okay, jeg har ændret lidt i dit script, så prøv lige og brug den jeg har lavet herunder.
Du skal dog lige rette det jeg har skrevet med STORT til det dine aktuelle feltnavne

Bemærk at alle recordset der hedder rs henviser til tabellen "mail"
Bemærk at alle recordset der hedder rs3 henviser til tabellen "bruger"

Hvis det her heller ikke virker så er jeg nok nød til at have din database og din kode for at kunne se sammenhængen.


<% if mode = "indbakke" then

'Tjecker om brugeren er logget ind

if session("brugernavn") = "" then
Response.Redirect("iframe.asp?vis=login")
end if
                                         
' recordset der henter alle mails til brugeren
set rs = Conn.Execute("select * From mail where mailModtager = '" & Session("brugernick") & "' order by mailDato desc")
%>

<br>               
<table width="96%" border="0" align="center" cellpadding="0" cellspacing="0" style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid">
<tr>
<td height="54" valign="top"><table width="100%" border="0" cellspacing="1" cellpadding="1">
<tr>
<td width="9%" height="30" background="img/bar.gif">&nbsp;</td>
<td width="38%"  background="img/bar.gif"><center><p><b>Overskrift</b></p></center></td>
<td width="28%"  background="img/bar.gif"><center><p><b>Afsender</b></p></center></td>
<td width="25%" background="img/bar.gif"><center><p><b>Skrevet d.</b></p></center></td>
</tr>
       
<%
' undersøger om der er nogen mails

if rs.eof or rs.bof then
%>

<tr>
<td valign="top"></td>
<td valign="top"><p>Du har ingen Beskeder i din Indbakke.</p></td>
</tr>

<%
' hvis der er mails, så fortsæt

else
Do while not rs.eof
%>
<tr>
<td height="30" valign="middle">     
<center><p>     
<%
'Forskelligt billede alt efter om emailen er læst/ulæst

if rs("mailread") <> True then %>
<img src="img/mail_unread.gif">
<% else %>
<img src="img/mail_read.gif">
<% end if %></p></center>
</td>

<td valign="middle"><p><b><a href="iframe.asp?vis=laesmail&mailid=<%=rs("mailid")%>"><%=rs("mailEmne")%></a></b></p></td>
<td valign="middle">

<%
' hent oplysninger om afsenderen
set rs3 = Conn.Execute("select * From bruger where BRUGERNAVN="& rs("NAVN_PÅ_BRUGER") &"")
%>
<center><p><b><a href="iframe.asp?vis=vispersonprofil&id=<%=rs3("id")%>"><%=rs3("BRUGERNAVN")%></a></b></p></center>

</td>         
<td valign="middle"><center><p><%=rs("mailDato")%></p></center></td>
<%
' luk recordset for brugeroplysninger
rs3.close
set rs3 = nothing

' hop videre til næste mail
rs.movenext
loop
%>
</tr>
</table>
</td>
</tr>
</table>

<center><p><b><a href="java script:history.back()">Tilbage</a></b></p></center>

<br>
<%
' luk recordsettet
rs.close
set rs = nothing

' luk databaseforbindelsen
conn.close
set conn = nothing

end if

%>


/Goose
Avatar billede goose Nybegynder
26. juni 2004 - 12:27 #23
- og selvfølgelig opdager man lige nogle fejl når man har sendt, brug dette istedet:

<% if mode = "indbakke" then

'Tjecker om brugeren er logget ind

if session("brugernavn") = "" then
Response.Redirect("iframe.asp?vis=login")
end if
                                         
' recordset der henter alle mails til brugeren
set rs = Conn.Execute("select * From mail where mailModtager = '" & Session("brugernick") & "' order by mailDato desc")
%>

<br>               
<table width="96%" border="0" align="center" cellpadding="0" cellspacing="0" style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid">
<tr>
<td height="54" valign="top"><table width="100%" border="0" cellspacing="1" cellpadding="1">
<tr>
<td width="9%" height="30" background="img/bar.gif">&nbsp;</td>
<td width="38%"  background="img/bar.gif"><center><p><b>Overskrift</b></p></center></td>
<td width="28%"  background="img/bar.gif"><center><p><b>Afsender</b></p></center></td>
<td width="25%" background="img/bar.gif"><center><p><b>Skrevet d.</b></p></center></td>
</tr>
       
<%
' undersøger om der er nogen mails

if rs.eof or rs.bof then
%>

<tr>
<td valign="top"></td>
<td valign="top"><p>Du har ingen Beskeder i din Indbakke.</p></td>
</tr>

<%
' hvis der er mails, så fortsæt

else
Do while not rs.eof
%>
<tr>
<td height="30" valign="middle">     
<center><p>     
<%
'Forskelligt billede alt efter om emailen er læst/ulæst

if rs("mailread") <> True then %>
<img src="img/mail_unread.gif">
<% else %>
<img src="img/mail_read.gif">
<% end if %></p></center>
</td>

<td valign="middle"><p><b><a href="iframe.asp?vis=laesmail&mailid=<%=rs("mailid")%>"><%=rs("mailEmne")%></a></b></p></td>
<td valign="middle">

<%
' hent oplysninger om afsenderen
set rs3 = Conn.Execute("select * From bruger where BRUGERNAVN='"& rs("NAVN_PÅ_BRUGER") &"'")
%>
<center><p><b><a href="iframe.asp?vis=vispersonprofil&id=<%=rs3("id")%>"><%=rs3("BRUGERNAVN")%></a></b></p></center>

</td>         
<td valign="middle"><center><p><%=rs("mailDato")%></p></center></td>
<%
' luk recordset for brugeroplysninger
rs3.close
set rs3 = nothing

' hop videre til næste mail
rs.movenext
loop

' luk recordsettet
rs.close
set rs = nothing

' luk databaseforbindelsen
conn.close
set conn = nothing

end if
%>
</tr>
</table>
</td>
</tr>
</table>

<center><p><b><a href="java script:history.back()">Tilbage</a></b></p></center>

<br>
<%
end if
%>


/Goose
Avatar billede aventic Nybegynder
08. september 2004 - 22:12 #24
svar
det virkede ikke
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