C ConnyFox Medlem sedan aug. 2001 1 087 inlägg Trådstart 20 dec. 2003 13:50 #1 har ett väldigt skumt problem med en loop och en sql sats.
När jag kör order by name visas bara 1 av 4 poster och när jag tar order by date visas bara 3 av 4 poster.
givetvis borde ju alla 4 visas då värdet i belongto är samma för alla 4.
här är sql satsen m.m
mysql = "select * from wgs_scripts where belongto = '" & request.querystring("catID") & "' order by date DESC"
set RS = connect.Execute(MySQL)
if not rs.eof then
dbscripts = rs.getrows
else
scriptsEmpty = "true"
end if
och här är loopen
if not scriptsEmpty = "true" then
with response
for i=0 to ubound(dbscripts,2)
.write "<table cellspacing='0' cellpadding='0' width='100' style='border: solid; border-width: 1px; border-color: #000000'><tr>"
.write "<td background='img/main_topbg.gif' height='23'>"
.write "<table width='100%' cellspacing='0'><tr><td height='4'></td></tr><td class='txtwhite' >"
.write " <img src='img/ico_page.gif' width='11' height='13' border='0'> " & dbscripts(2,i) & ""
.write "</td><td align='right'>"
.write "<img src='img/smallbutton_download.gif' border='0'> "
.write "<img src='img/smallbutton_homepage.gif' border='0'> "
.write "<a href='" & dbscripts(3,i) & "' target='_blank'><img src='img/smallbutton_moreinfo.gif' border='0'></a>"
.write "</td></tr></table>"
.write "</td></tr>"
.write "<tr><td height='8' background='img/main_greybg.gif'>"
.write "</td></tr><tr><td bgcolor='#F2F2F2'>"
.write "<table width='400'><tr><td colspan='2' align='middle'>"
.write "</td></tr><tr><td colspan='2'>"
.write "" & dbscripts(4,i) & ""
.write "</td></tr><tr bgcolor='#ffffff'><td>"
memberrating = dbscripts(8,i) / dbscripts(7,i)
visitorrating = dbscripts(10,i) / dbscripts(9,i)
.write "Visitor Ratings : "
WriteStars Round(visitorrating, 1)
.write " <img src='img/smallbutton_vote2.gif' width='39' height='13' border='0'>"
.write "</td><td>"
.write "Member Ratings : "
WriteStars Round(memberrating, 1)
.write " <img src='img/smallbutton_vote2.gif' width='39' height='13' border='0'>"
.write "</td></tr></table>"
.write "</td></tr></table>"
.write "<br>"
next
end with
end if
tilläggas bör att jag tror mig minnas att det funkade innan jag la till writestars delarna av koden.
vad det är för funktion står här :
http://www.webforum.nu/showthread.php?s=&threadid=91039&forumid=22
S Sebbe Medlem sedan jan. 2003 2 285 inlägg Har du testat att köra utan GetRows()?
C ConnyFox Medlem sedan aug. 2001 1 087 inlägg umm nej.. men vadå det borde väll funka ändå? =D
S Sebbe Medlem sedan jan. 2003 2 285 inlägg Jo, men eftersom det inte funkar måste man ju försöka hitta en orsak.
C ConnyFox Medlem sedan aug. 2001 1 087 inlägg mjoo får väll köra "vanligt" om ingen här lyckas lista ut vad det kan bero på!
C ConnyFox Medlem sedan aug. 2001 1 087 inlägg Är det vanligt att getrows buggar såhär eller är det jag som gjort något fel?
Går det att lösa eller måste jag köra utan getrows?
C ConnyFox Medlem sedan aug. 2001 1 087 inlägg Ok jag har felsökt ok lokaliserat felet!
Det är när fuktionen writestars körs i loopen som den buggar.
någon som vet hur man fixar detta eller hur jag kan ersätta funktionen.
Funktionen går att hitta här
http://www.webforum.nu/showthread.php?s=&threadid=91039&forumid=22
och är en funktion för att visa ett genomsnittsbetyg (t.ex 4.5) som strärnor (i detta fall 4 hela och en halv)
S Sebbe Medlem sedan jan. 2003 2 285 inlägg Tror att jag har hittat felet:
if not scriptsEmpty = "true" then
with response
for [b]intCount[/b]=0 to ubound(dbscripts,2)
.write "<table cellspacing='0' cellpadding='0' width='100' style='border: solid; border-width: 1px; border-color: #000000'><tr>"
.write "<td background='img/main_topbg.gif' height='23'>"
.write "<table width='100%' cellspacing='0'><tr><td height='4'></td></tr><td class='txtwhite' >"
.write " <img src='img/ico_page.gif' width='11' height='13' border='0'> " & dbscripts(2,intCount) & ""
.write "</td><td align='right'>"
.write "<img src='img/smallbutton_download.gif' border='0'> "
.write "<img src='img/smallbutton_homepage.gif' border='0'> "
.write "<a href='" & dbscripts(3,intCount) & "' target='_blank'><img src='img/smallbutton_moreinfo.gif' border='0'></a>"
.write "</td></tr></table>"
.write "</td></tr>"
.write "<tr><td height='8' background='img/main_greybg.gif'>"
.write "</td></tr><tr><td bgcolor='#F2F2F2'>"
.write "<table width='400'><tr><td colspan='2' align='middle'>"
.write "</td></tr><tr><td colspan='2'>"
.write "" & dbscripts(4,intCount) & ""
.write "</td></tr><tr bgcolor='#ffffff'><td>"
memberrating = dbscripts(8,intCount) / dbscripts(7,intCount)
visitorrating = dbscripts(10,intCount) / dbscripts(9,intCount)
.write "Visitor Ratings : "
WriteStars Round(visitorrating, 1)
.write " <img src='img/smallbutton_vote2.gif' width='39' height='13' border='0'>"
.write "</td><td>"
.write "Member Ratings : "
WriteStars Round(memberrating, 1)
.write " <img src='img/smallbutton_vote2.gif' width='39' height='13' border='0'>"
.write "</td></tr></table>"
.write "</td></tr></table>"
.write "<br>"
next
end with
end if
Eftersom jag använder For-loopar med i som variabel i funktionen kan du inte använda samma i din loop.
C ConnyFox Medlem sedan aug. 2001 1 087 inlägg Hmm njaa nu skriver den ut och så fin fint men samma post skrivs ut gång på gång
C ConnyFox Medlem sedan aug. 2001 1 087 inlägg Dvs endast en post skrivs ut fast en gång för varje post som finns
@nders Medlem sedan juni 2000 32 967 inlägg Eftersom du byter loop-kontrollvariabel från i till intCount, får du också byta på alla ställen i koden där du tidigare använde i. Förutom i funktionen WriteStars(). Problemet uppkom eftersom funktionen använde samma kontrollvariabel (i), och skrev om värdet på den. Uppskattas inte av kallande kod.
Fast det kanske är färre ställen att ändra på om du byter kontrollvariabel i WriteStars() istället?
C ConnyFox Medlem sedan aug. 2001 1 087 inlägg Ah det tänkte jag faktiskt aldrig änns på! nu funkar både loopen och funktionen tackar tackar, då har man lärt sig något idag med då