Visualizzazione dei risultati da 1 a 10 su 16

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    Grazie ANDREA,
    adattando lo script che mi ha linkato eccolo:
    codice:
    <%
    server.ScriptTimeout = 300
    page = Cint(request.querystring("page"))
    if page = 0 then page = 1
    call dbConnect(objConn)
    %>
    TITOLO PAGINA
    <%
    scategoria = Request.querystring("cat")
    if scategoria="tutte" then scategoria = "%"
    
    strSQL = "SELECT COUNT(*) FROM (SELECT id, cosa, titolo, testo, foto, categoria, data, attiva from foto WHERE categoria = '"& scategoria &"' AND attiva = 'SI' UNION ALL SELECT id, cosa, titolo, testo, video, categoria, data, attiva from video WHERE categoria = '"& scategoria &"' AND attiva = 'SI') AS TOTAL order by data desc"
    Set objRS = objConn.Execute(strSQL)
    tot_record = objRS(0)
    set objRS = nothing
    
    pageSize = 3
    inizio = (page - 1) * pageSize
    pagine_totali = tot_record / pageSize
    
    if pagine_totali - CInt(pagine_totali) > 0 then
    pagine_totali = CInt(pagine_totali + 1)
    else
    pagine_totali = CInt(pagine_totali)
    end If
    
    strSQL = "SELECT * FROM (SELECT id, cosa, titolo, testo, foto, categoria, data, attiva from foto WHERE categoria = '"& scategoria &"' AND attiva = 'SI' UNION ALL SELECT id, cosa, titolo, testo, video, categoria, data, attiva from video WHERE categoria = '"& scategoria &"' AND attiva = 'SI') AS TOTAL , "& pageSize
    Set objRS = server.CreateObject("ADODB.Recordset")
    objRS.Open strSQL, objConn
    if not objRS.EOF then
    %>
    RISULTATI
    <%
    do while not objRS.EOF
    objRS.movenext
    Loop
    if page > 1 then
    Response.write("<a href=""elenco_articoli2.asp?cat=" & request.querystring("cat") &"&page="& CInt(page - 1) &""">Pagina precedente</a>")
    else
    Response.Write ("")
    end if
    if tot_record > pageSize and pagine_totali > page then
    Response.write("<a href=""elenco_articoli2.asp?cat=" & request.querystring("cat") &"&page="& CInt(page + 1) &""">Pagina successiva</a>")
    else
    Response.Write ("")
    end if
    else
    Response.write ("Non ci sono notizie")
    end if
    objRS.close
    set objRS = nothing
    call dbDisconnect(objConnn)
    sub dbConnect(objConn)
    connectionstring = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=00.000.000.00;DATABASE=Sql123456_1;UID=Sql123456;PASSWORD=abcdefgh"
    set objConn = server.createObject("ADODB.Connection")
    objConn.Open connectionstring
    end sub
    sub dbDisconnect(objConn)
    objConn.close
    set objConn = nothing
    end sub
    %>
    Ho un errore alla riga:

    pagine_totali = tot_record / pageSize

    L'errore è:

    Microsoft VBScript runtime error '800a000d'
    Type mismatch

    Non saprei a cosa è dovuto, attendo il tuo aiuto, grazie
    G.

  2. #2
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    592
    Quote Originariamente inviata da djjunior Visualizza il messaggio
    Grazie ANDREA,
    adattando lo script che mi ha linkato eccolo:
    codice:
    <%
    server.ScriptTimeout = 300
    page = Cint(request.querystring("page"))
    if page = 0 then page = 1
    call dbConnect(objConn)
    %>
    TITOLO PAGINA
    <%
    scategoria = Request.querystring("cat")
    if scategoria="tutte" then scategoria = "%"
    
    strSQL = "SELECT COUNT(*) FROM (SELECT id, cosa, titolo, testo, foto, categoria, data, attiva from foto WHERE categoria = '"& scategoria &"' AND attiva = 'SI' UNION ALL SELECT id, cosa, titolo, testo, video, categoria, data, attiva from video WHERE categoria = '"& scategoria &"' AND attiva = 'SI') AS TOTAL order by data desc"
    Set objRS = objConn.Execute(strSQL)
    tot_record = objRS(0)
    set objRS = nothing
    
    pageSize = 3
    inizio = (page - 1) * pageSize
    pagine_totali = tot_record / pageSize
    
    if pagine_totali - CInt(pagine_totali) > 0 then
    pagine_totali = CInt(pagine_totali + 1)
    else
    pagine_totali = CInt(pagine_totali)
    end If
    
    strSQL = "SELECT * FROM (SELECT id, cosa, titolo, testo, foto, categoria, data, attiva from foto WHERE categoria = '"& scategoria &"' AND attiva = 'SI' UNION ALL SELECT id, cosa, titolo, testo, video, categoria, data, attiva from video WHERE categoria = '"& scategoria &"' AND attiva = 'SI') AS TOTAL , "& pageSize
    Set objRS = server.CreateObject("ADODB.Recordset")
    objRS.Open strSQL, objConn
    if not objRS.EOF then
    %>
    RISULTATI
    <%
    do while not objRS.EOF
    objRS.movenext
    Loop
    if page > 1 then
    Response.write("<a href=""elenco_articoli2.asp?cat=" & request.querystring("cat") &"&page="& CInt(page - 1) &""">Pagina precedente</a>")
    else
    Response.Write ("")
    end if
    if tot_record > pageSize and pagine_totali > page then
    Response.write("<a href=""elenco_articoli2.asp?cat=" & request.querystring("cat") &"&page="& CInt(page + 1) &""">Pagina successiva</a>")
    else
    Response.Write ("")
    end if
    else
    Response.write ("Non ci sono notizie")
    end if
    objRS.close
    set objRS = nothing
    call dbDisconnect(objConnn)
    sub dbConnect(objConn)
    connectionstring = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=00.000.000.00;DATABASE=Sql123456_1;UID=Sql123456;PASSWORD=abcdefgh"
    set objConn = server.createObject("ADODB.Connection")
    objConn.Open connectionstring
    end sub
    sub dbDisconnect(objConn)
    objConn.close
    set objConn = nothing
    end sub
    %>
    Ho un errore alla riga:

    pagine_totali = tot_record / pageSize

    L'errore è:

    Microsoft VBScript runtime error '800a000d'
    Type mismatch

    Non saprei a cosa è dovuto, attendo il tuo aiuto, grazie
    G.
    ciao
    la select in cui esegui il conteggio se non trova record restituisce il campo a blank
    e quindi prima di usare il campo tot_record devi verificare che sia numerico e se non è numerico devi forzare lo zero...
    devi mettere una if prima dell'istruzione
    ...
    codice:
    pagine_totali = tot_record / pageSize
    ...
    
    if  isNumeric(tot_record) then 
       pagine_totali = tot_record / pageSize
    else
      pagine_totali = 0
    end if
    
    ...
    prova se è questo l'errore

    ciao
    Vic53

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,134
    Quote Originariamente inviata da djjunior Visualizza il messaggio
    adattando lo script che mi ha linkato eccolo:
    Sembra più un copia-incolla delle due query senza il ben che minimo concetto di select
    Non saprei a cosa è dovuto
    Se dopo nove anche frequenti il forum non sai scrivere una query probabilmente è meglio che rinunci
    attendo il tuo aiuto....
    leggi qui se trovi spunti
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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 © 2026 vBulletin Solutions, Inc. All rights reserved.