Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Problema con MovePrevious

    ciao a tutti ho questo cod:

    Codice PHP:
    Set rs1 Server.CreateObject("ADODB.Recordset"
    sql1 "select *  from  articoli where id < "&idarticolo&" LIMIT 4"
    rs1.open sql1objConn
                    

                    
    if not rs1.EOF then
                    
    do until rs1.eof
                            
                            
                            
    rs1
    .MovePrevious
    loop
                    
    end 
    if
    rs1.close 
    set rs1
    =nothing 
    Uso mysql con movenext funziona con MovePrevious mi da
    ADODB.Recordset (0x800A0C93)
    Operazione non consentita nel contesto corrente.

    ho provato con
    rs1.open objConn, 3, 1
    rs1.open objConn, 1, 3
    ma mi va sempre in errore .. qualche idea? :master:

  2. #2
    prima della do until... prova a mettere un .movelast

  3. #3
    oppure

    rs1.open objConn, 3, 3

  4. #4
    ciao
    ho fatto così
    rs1.movelast
    do until rs1.eof

    ho provato anche con
    rs1.open objConn, 3, 3

    ma sempre errore

  5. #5
    1. prova con rs1.open objConn, 3, 3
    2. perché vuoi andare al contrario?

  6. #6
    ho provato anche questo rs1.open objConn, 3, 3 ma nada

    voglio andareal contrario perchè penso non si possa fare in altro modo .. come mostra in figura ..

    ho un menù con la lista di tutti gli articoli ad esempio ora sto leggendo un articolo nel menù voglio visualizzare i 4 articoli precedenti e i 4 articoli sucessivi all' articolo che sto leggendo .. ho pensato di utilizzare moveprevius .. non so se si può fare in altro modo .. :master:
    Immagini allegate Immagini allegate

  7. #7
    1. scusa, volevo dire prova con rs1.open objConn, 2, 3
    2. per andare al record precedente potresti fare

    SELECT TOP 1 elenco_campi FROM tabella WHERE ID<IDCorrente

  8. #8
    con con rs1.open objConn, 2, 3 non funziona .. missa che top non funziona su mysql
    ho provato con
    sql1 = "Select TOP 1 * from articoli where id < 4 ORDER BY id DESC"

    ma mi da il seguente errore:
    icrosoft OLE DB Provider for ODBC Drivers (0x80040E14)
    [MySQL][ODBC 3.51 Driver][mysqld-4.1.9-max]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1 * from articoli where id < 4 ORDER BY id DESC' at line 1

    :master:

  9. #9
    sì scusa, con mysql si usa LIMIT

  10. #10
    allora più o meno ho risolto ..
    per chi volesse:

    mi ricavo i record totali es:
    Codice PHP:
    Set rs1 Server.CreateObject("ADODB.Recordset"
    sql1 "Select COUNT(*) AS RECORD_COUNT from  articoli where visualizza=1 and id < "&idarticolo&""
    rs1.open sql1objConn
    recordtotaliarticolo
    =rs1("RECORD_COUNT"' tolgo 4 perchè visualizzo i 4 articoli precedenti
    if cint(recordtotaliarticolo) >= 4 then
    recordtotaliarticolo=cint(rs1("RECORD_COUNT"))-4
    else
    recordtotaliarticolo=0
    end if
    rs1.close 
    set rs1=nothing 
    una volta che ho i record totali tolgo 4 e faccio l'altra select..

    sql1 = "Select * from articoli where visualizza=1 and id < "&idarticolo&" LIMIT "&recordtotaliarticolo&",4"

    è un giro un po' lungo ma funziona .. senza usare MovePrevious

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.