Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    problema con la paginazione

    Mi date un piccolo aiuto?
    Ho questa pagina per la paginazione il parametro like nella stringa sql viene passato dalla form della pagina di ricerca. La paginazione non funziona perchè quando cambio pagina e quindi ricarico la pagina, "perdo" il parametro del request.form. Come faccio a risolvere il problema? Mi date una mano? Grazie

    <%@LANGUAGE="VBSCRIPT"%>

    Dim Rec__varftesto
    Rec__varftesto = "'%" & Request.Form("f_testo") & "%'"

    %>
    <%
    'Numero di record visualizzati per pagina
    Record_Pagina = 5
    'Numero di Pagine visualizzate nei link
    Numerazione_Max = 6

    'Creo la connessione al database
    Dim Conn
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open ("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = e:/home/intec/urban2/dbfiles/news_urban.mdb")

    'Scrivo la mia query sql
    sql = "SELECT * FROM news WHERE testo like " + Rec__varftesto + " or titolo like " + Rec__varftesto + " or segue like "+ Rec__varftesto + " ORDER BY data DESC"
    'E creo il recordset
    Set Rec = Server.CreateObject ("ADODB.Recordset")
    Rec.PageSize = Record_Pagina
    Rec.Open sql, Conn, 3, 3

    'Recupero il numero della pagina corrente
    Pag = CInt(Request.Querystring("pag"))

    'Controllo che il numero di pagina sia corretto
    If (Not Rec.Eof) Then
    If Pag>Rec.PageCount Then
    Pag = Rec.PageCount
    End If
    If Pag = 0 Then
    Pag = 1
    End If

    'Setto la pagina corrente
    Rec.AbsolutePage = Pag
    Rec_total = Rec.Recordcount

    'Ora prepariamo i link alle pagine
    indice_inizio = pag-(Numerazione_Max/2)
    If (indice_inizio>(Rec.PageCount-Numerazione_Max)) Then
    indice_inizio = Rec.PageCount-Numerazione_Max+1
    End If
    If (indice_inizio<=0) Then
    indice_inizio = 1
    End if
    indice_fine=indice_inizio+Numerazione_Max-1
    If (indice_fine>Rec.PageCount) Then
    indice_fine = Rec.PageCount
    End If
    'Link alla prima pagina
    Link = "&laquo; |"

    'Link alle pagine precedenti
    If (indice_inizio<>1) Then
    Link=Link&" precedente |"
    End If
    For i=indice_inizio to indice_fine

    'Pagina attuale
    If (i=pag) then
    Link = Link&" [ "&i&" ] "
    'Link alle altre pagine
    Else
    Link = Link&"[ "&i&" ] | "
    End If
    Next

    'Link alle pagine successive
    If (indice_fine<Rec.PageCount-1) Then
    Link = Link&" succesiva | "
    End If

    'Link all'ultima pagina
    Link=Link&" &raquo; "
    End If

    %>

    <%
    'stampo i record
    i=0
    While (NOT rec.EOF)and(i<Record_Pagina)
    i = i+1
    %>
    <h3>" tabindex="40"><%=(Rec.Fields.Item("titolo").Value) %></h3>
    <%
    rec.MoveNext
    WEnd
    'e ora finalmente stampiamo i link alle altre pagine
    Response.Write(Link)
    %>

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    1) Il parametro nei link della paginazion non l'hai messo: aggiungilo al numero di pagina.
    2) Il recupero del parametro devi farlo solo con Request non con Request.Form

    Roby

  3. #3
    codice:
    Rec__varftesto = "'%" & Request("f_testo") & "%'"
    e nel querystring aggiungi

    codice:
    href="......&f_testo=<%= Rec__varftesto %>

  4. #4
    mi spiegate la differenza tra request e request.form.
    Se non utilizzo request.form come faccio a portarmi dietro il parametro di ricerca passato nel form?

  5. #5
    comunque quando clicco sulla paginazione mi viene restituito il seguente errore:
    Microsoft JET Database Engine error '80040e14'

    Errore di sintassi (operatore mancante) nell'espressione della query 'testo like '%'senatore'%' or titolo like '%'senatore'%' or segue like '%'senatore'%''.

    /2709/archivio/risultati.asp, line 43

    perchè mi compaiono gli apici all'interno della parola senatore? boh?

    ho aggiunto il parametro alla paginazione

    'Link all'ultima pagina
    Link=Link&" &raquo; "

    forse sta qui l'errore?

  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    L'apice lo vedi anche nell'url o ti appare solo nella pagina/query?

    Roby

  7. #7
    nell'url l'apice non c'è

  8. #8
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Sta qui:
    codice:
    Rec__varftesto = "'%" & Request.Form("f_testo") & "%'"
    Roby

  9. #9
    come devo scrivere scusa? perchè al primo lancio la query funziona e poi no?

  10. #10
    '%'senatore'%'

    Perchè compaiono gli apici davanti a senatore? 'senatore'
    nell'url non compaiono

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.