Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    16

    Errore nella chiamata ricorsiva della stasse pagina

    Scusatemi sin da subito se il titolo non è molto concernente al mio problema:
    Il mio problema è che ho creato una pagina ricorsiva news.asp
    in cui mi collego ad un database e visualizzo le ultime cinque news (e fin qui nessu errore),

    gli errori inspiegabili vengono quando clikko sul link avanti, la cosa curiosa e che non entra dentro gli if corretti
    esempio ho creato un if apposta in cui gli dico di confrontare news e finale e lui dice che news è maggiore di finale (che non è vero) perché poi stampa a video news=5 e finale =11 e così non entra nella stampa delle 5 news successive anche se il movimento sul objRs.Movenext lo fa correttamente dei passi che gli ho detto io cioè 5

    Sapreste dirmi il perché??? Io proprio non riesco a capirlo... Sono nelle vostre mani

    Ecco a voi il codice

    codice:
    <%
    clickato = Request.Querystring("clickato")
    news = Request.Querystring("news")
    finale = 0
    
    
    Dim objConn
      	Set objConn = Server.CreateObject("ADODB.Connection")
    	strConnection = "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.MapPath("/realcostamagna/db/Db.mdb")
    	objConn.Open(strConnection)
    	Set objRs = Server.CreateObject("ADODB.Recordset")
    	set objRs = objConn.Execute("SELECT data, titolo, testo from news ORDER BY data DESC")
    
    If (Not clickato) then
    
    	news = 1
    
    else
    
    	for i=1 to news-1
    		objRs.Movenext
    	next
    
    
    end if
    
    finale = news + 4
    
    if (news > finale) then
    	response.write "Il valore di finale ="&finale&"
     Il valore di news ="&news
    end if
    
    Do while (news < finale) and (NOT objRs.EOF)
    	response.write "<TABLE id=""cadre"">"
    	response.write "<TR> <TD>"
    	response.write "<FONT size=2 face=""Arial"" color=""#FFFFFF"" align=""left"">" & objRs("titolo") & "
    </FONT><FONT size=2 face=""Arial"" color=""#FFFFFF"" align=""right"">" & objRs("data") & "</FONT>"
    	response.write "</TR> </TD>"
    	response.write "</TABLE>"
    	response.write "
    "
    	response.write "<TABLE id=""news"">"
    	response.write "<TR> <TD>"
    	response.write "<FONT size=2 face=""Arial"" color=""#000000""><p align=""JUSTIFY"">" & objRs("testo") & "</p></FONT>"
    	response.write "</TR> </TD>"
    	response.write "</TABLE>"
    	response.write "
    
    "
    	news = news + 1
    	objRs.Movenext
    Loop
    
    
    If (news > 5) then
    	news1= ((news\5)*5)-5+1
    	response.write " <-Indietro "
    end if
    
    If (NOT objRs.EOF) then
    	response.write " Avanti -> "
    end if
    
    objRs.Close
    Set objRs = Nothing
    objConn.Close
    Set objConn = Nothing
    
    %>

  2. #2
    Utente di HTML.it L'avatar di buji
    Registrato dal
    Nov 2002
    Messaggi
    178
    codice:
    realcostamagna/News.asp?clickato=true&news=" & news1 & """> <-Indietro </a>"
    Questo news1 del primo link non l'ho visto da nessuna parte
    Buji

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    16
    Ora sono riuscito a farlo funzionare con uno stratagemma che nemmeno io so perché mi tocca farlo

    codice:
    <%
    clickato = Request.Querystring("clickato")
    news = Request.Querystring("news")
    finale = 0
    
    
    Dim objConn
      	Set objConn = Server.CreateObject("ADODB.Connection")
    	strConnection = "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.MapPath("/realcostamagna/db/Db.mdb")
    	objConn.Open(strConnection)
    	Set objRs = Server.CreateObject("ADODB.Recordset")
    	set objRs = objConn.Execute("SELECT data, titolo, testo from news ORDER BY data DESC")
    
    If (Not clickato) then
    	news = 0
    else
    	for i=0 to news-1
    		objRs.Movenext
    	next
    end if
    
    finale = news + 5
    
    if (news > finale) then
    	response.write "Il valore di finale ="&finale&"
     Il valore di news ="&news
    	news = news+1
    	news = news-1
    end if
    
    Do while (news < finale) and (NOT objRs.EOF)
    	response.write "<TABLE id=""cadre"">"
    	response.write "<TR> <TD>"
    	response.write "<FONT size=2 face=""Arial"" color=""#FFFFFF"" align=""left"">" & objRs("titolo") & "
    </FONT><FONT size=2 face=""Arial"" color=""#FFFFFF"" align=""right"">" & objRs("data") & "</FONT>"
    	response.write "</TR> </TD>"
    	response.write "</TABLE>"
    	response.write "
    "
    	response.write "<TABLE id=""news"">"
    	response.write "<TR> <TD>"
    	response.write "<FONT size=2 face=""Arial"" color=""#000000""><p align=""JUSTIFY"">" & objRs("testo") & "</p></FONT>"
    	response.write "</TR> </TD>"
    	response.write "</TABLE>"
    	response.write "
    
    "
    	news = news + 1
    	objRs.Movenext
    Loop
    
    news = news - 1
    If (news > 5) then
    	news1= ((news\5)*5)-5
    	response.write " <-Indietro "
    end if
    
    If (NOT objRs.EOF) then
    	response.write " Avanti -> "
    end if
    
    objRs.Close
    Set objRs = Nothing
    objConn.Close
    Set objConn = Nothing
    
    %>
    Il raggiro per me improponibile è stato questo
    codice:
    if (news > finale) then
    	response.write "Il valore di finale ="&finale&"
     Il valore di news ="&news
    	news = news+1
    	news = news-1
    end if
    cosa improponibile se andate a visualizzare la pagina entra e stampa i valori della variabili palesamente diversi ma nonostante tutto entra in quel if


    buji il news1 è una variabile che ho inializzato la riga prima di quella del tuo post:
    codice:
    If (news > 5) then
    	news1= ((news\5)*5)-5
    	response.write " <-Indietro "
    Speriamo che qualcuno trovi una soluzione più ortodossa...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.