C ConnyFox Medlem sedan aug. 2001 1 087 inlägg Frågan 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.. :D 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 :D
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å :D