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

    [ASP+MYSQL] Paginazione: Records limitrofi

    Ciao a tutti,

    il mio problema di oggi è :

    Stando nella pagina di una notizia, poter dare all'utente la possibilità di andare alla notizia precedente o alla successiva (ordinate in base chiaramente al campo data).

    Utilizzo ASP e DB Mysql 5 .

    Io speravo di trovare una soluzione direttamente dal DB con il recordset già pronto per essere usato tramite ASP ma non so come fare la query.

    Ciao e grazie

  2. #2
    diciamo che il database è:

    codice:
    tab News:
    id - data - titolo - news
    la query dovrebbe essere una cosa del tipo: (conoscendo la data della news)

    codice:
    SELECT News.*, 
    (SELECT ID FROM NEWS WHERE DATA<'data_di_riferimento_news_che_si_legge' ORDER BY DATA DESC LIMIT 1) AS next, 
    (SELECT ID FROM NEWS WHERE DATA>'data_di_riferimentonews_che_si_legge' ORDER BY DATA DESC LIMIT 1) AS prev 
    FROM NEWS
    se poi non funge, me ne lavo le mani
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    152
    Per fungere ... funge (ti eri scordato un WHERE finale).

    SELECT News.*,
    (SELECT ID FROM NEWS WHERE DATA<'2008-10-21' ORDER BY DATA DESC LIMIT 1) AS next,
    (SELECT ID FROM NEWS WHERE DATA>'2008-10-21' ORDER BY DATA DESC LIMIT 1) AS prev
    FROM NEWS
    WHERE DATA='2008-10-21'

    MA non mi soddisfa del tutto ... metti che devo prendere più campi devo fare troppe SELECT nidificate ....

    per adesso la ho risolta così ( ovvero facendo 3 query distinte) che forse è più veloce ... ma non so ...

    La prima query è quella dvoe stampo l'articolo e la trovo con l'id con i dati e le altre le trovo normalmente ...

    <%' dopo prima query

    Sql = "SELECT indirizzo, titolo, data FROM news WHERE data < '" & DateMySql & "' ORDER BY data desc LIMIT 0, 1 ;"
    Set Rs = Conn.Execute(Sql)
    If Not Rs.EOF Then NP_str = NP_str & "<span class=""sinistra""><<" & Rs("data") & " " & Rs("titolo") & "</span>"

    Sql = "SELECT indirizzo, titolo, data FROM news WHERE data > '" & DateMySql & "' ORDER BY data LIMIT 0, 1;"
    Set Rs = Conn.Execute(Sql)
    If Not Rs.EOF Then NP_str = NP_str & " <span class=""destra"">" & Rs("data") & " " & Rs("titolo") & ">></span>"

    response.write NP_str
    %>

    ma non mi piace molto neanche questa soluzione ... speravo che magari MySQL avesse qualche funzioncina per farlo senza query nidificate ... ma non la ho trovata ancora ...

    Grazie comunque per il reply

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.