webForumDet fria alternativet

Oändlig loop

16 svar · 411 visningar · startad av Gimbo

GimboMedlem sedan dec. 20001 626 inlägg
#1

Hejsan!

Jag tänkte lista erbjudande till höger på sidan, och detta har jag i en inklud fil...

<%
' Loppar igenom alla erbjudanden

mySQL="SELECT DISTINCT hotDeal FROM products WHERE hotDeal=-1 ORDER BY hotDeal desc"
'response.write mySQL
do until rstemp.eof

call getFromDatabase(mySql, rstemp,"erbjudanden") 

%>
<br>
<b>
</b><br><br>

<%
  
   pIdCategory		= rstemp("idCategory")
   pCategoryDesc	= rstemp("categoryDesc")   
   pIdParentCategory	= rstemp("idParentCategory")
   pImageCategory	= rstemp("imageCategory")
   
   %>   
<img src="images/<%=pImageCategory%>">
<br>
   <a href='meny.asp?idCategory=<%response.write pIdCategory%>'> 
     <%response.write "köp..."%></a>
   <br><br>
   <%     
   rstemp.moveNext
 loop
call closeDb()
%>

Men jag får en oääändlig loop på erbjudandena, jag har tre erbjudande satt till -1 dvs som skall listas men det är bara den första som listas och den listas oändligt, de två andra visas inte äns, fattar inte vad jag gör för fel, för i call closedb() så ser det ut så här:

  on error resume next
  
  rsTemp.close
  set rsTemp 		= nothing 
  connTemp.close
  set connTemp	 	= nothing

dvs jag stänger ju alla anslutningar till databasen

Jörgen HPMedlem sedan feb. 20012 412 inlägg
#2

Du borde väl anropa din sub utanför loopen?

GimboMedlem sedan dec. 20001 626 inlägg
#3

hur menar du??
menar u att jag ska ta bort:

call getFromDatabase(mySql, rstemp,"erbjudanden")

och lägga den under loopen???

dvs här:

  <%     
   rstemp.moveNext
 loop
call getFromDatabase(mySql, rstemp,"erbjudanden")
call closeDb()
%>

eller??? testade detta men fungerar icke

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Nej, ovanför. Din select-fråga är lite konstig. Den kommer bara att returnera en post med värdet -1.


<%
' Loppar igenom alla erbjudanden

mySQL="SELECT IdCategory, CategoryDesc,   IdParentCategory,  ImageCategory	 FROM products WHERE hotDeal=-1"
'response.write mySQL
call getFromDatabase(mySql, rstemp,"erbjudanden") 
do until rstemp.eof

%>
<br>
<b>
</b><br><br>

<%
  
   pIdCategory		= rstemp("idCategory")
   pCategoryDesc	= rstemp("categoryDesc")   
   pIdParentCategory	= rstemp("idParentCategory")
   pImageCategory	= rstemp("imageCategory")
   
   %>   
<img src="images/<%=pImageCategory%>">
<br>
   <a href='meny.asp?idCategory=<%response.write pIdCategory%>'> 
     <%response.write "köp..."%></a>
   <br><br>
   <%     
   rstemp.moveNext
 loop
call closeDb()
%>
GimboMedlem sedan dec. 20001 626 inlägg
#5

fungerar fortfarnde inte... samma problem, den loopar oändligt, och vad är det som e konstigt med min select- fråga? men jag testade som du sa, fast problemet kvarstår sig

GimboMedlem sedan dec. 20001 626 inlägg
#6

asså min tabell heter products och i den har jag hotDeals som kolumn och om den är satt till -1 så ska den vara synlig i annat fal inte

Jörgen HPMedlem sedan feb. 20012 412 inlägg
#7

Iom att du kör distinct på kolumnen hotDeal får du bara ut en av dina tre värden. Den tar nämligen bara ut ett (1) unikt värde.

GimboMedlem sedan dec. 20001 626 inlägg
#8

men jag körde med LarsG's kod där han tog bort distinct men problemet kvarstår sig

Jörgen HPMedlem sedan feb. 20012 412 inlägg
#9

Hur ser innehållet i din subrutin ut?

LarsGMedlem sedan dec. 200012 464 inlägg
#10

Hur ser koden ut nu?

GimboMedlem sedan dec. 20001 626 inlägg
#11

Min kod ser ut så som du skrev den senast LarsG och så här ser min subrutin ut Jörgen

sub getFromDatabase(mySQL, rstemp, scriptName) 
  
   call openDb()
 
   set rstemp = server.createObject("adodb.recordset")

   ' set locktype
   rstemp.lockType = adLockReadOnly

   ' set the cursor
   rstemp.cursorType = adOpenForwardOnly 
   
   rstemp.open mySQL, connTemp
 
end sub
GimboMedlem sedan dec. 20001 626 inlägg
#12

nu blir jag förvirrad, jag ändrade till hotDeal=0 men programmet loopar ändå fram samma produkt som innan oändligt??? blir förvirrad här...

GimboMedlem sedan dec. 20001 626 inlägg
#13

nu blir jag riktigt förvirrad, den hämtar ju inte ens in från tabellen products i databasen, programmet går in i categories och loopar första posten där, jag fattar noll?!??!?! hur kommer det sej att den är inne o rotar i categories när jag anropar products??

LarsGMedlem sedan dec. 200012 464 inlägg
#14

Du måste ha blandat ihop sidorna på något sätt eller?

GimboMedlem sedan dec. 20001 626 inlägg
#15

det här e en inklud fil som jag inkluderar, jag tog bort hela mySql satts och loopen och testadeifall jag fick en utskrift av bild och länk, och det fick jag, vart tror du felet kan ligga, detta säger mig att min sql sats inte hade ngt med programmet att göra dvs den påverkade inget

h0lgerMedlem sedan nov. 2002105 inlägg
#16

Pröva först att kommentera bort ev. On Error Resume Next. Då ser du om du får några run-time fel.

Sedan skall denna ligga ovanför loopen

call getFromDatabase(mySql, rstemp,"erbjudanden")

Dock skall den ligga efter

mySQL="SELECT DISTINCT hotDeal FROM products WHERE hotDeal=-1 ORDER BY hotDeal desc"
GimboMedlem sedan dec. 20001 626 inlägg
#17

har inga on error resume next, men alltså det skumma är att den skriver ut och loopar denna länk meny.asp?idCategory=2 men den fil som jag inkluderar heter erbjudanden.asp, meny.asp är en annan fil som jag inkluderar, det spelar ingen roll ifall jag tar bort sql satsen, sql satsen har ingen effekt i min erbjudanden.asp fil, vart kan felet tyckas va? jag har stängt databasen i filen meny.asp

naturligtvis skriver den ute meny.asp?idCategory=2 för at jag har satt länken till meny.asp men idCatagery=2 ?? idCategory=2 det är det som är d skumma, för den kolumnen finns inte i tabellen products

263 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
129 ms — hämta statistik (db)
131 ms — hämta tråd, inlägg och bilagor (db)