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

    chiamare funzione da link

    salve a tutti,
    volevo sapere come si fa per chiamare una funzione o una procedura da un link, io ho fatto in questo modo:

    <a href="" onClick="<% call avanti()%>">

    sub avanti()...

    ma non mi funziona, potete aiutarmi pls

    Grazie, ciao.

  2. #2
    Utente di HTML.it L'avatar di salvod
    Registrato dal
    Feb 2002
    Messaggi
    314
    devi ricaricare la pagina nella querystring metti ad esempio il nome della funzione da eseguire.. al reload ti ricavi questo valore fai un controllo e mandi in esecuzione la sub...

  3. #3
    grazie salvo per la tua rapida risposta,

    e volevo sapere allora, se io faccio:

    set recset = conn.execute("Select * from news")

    poi posso spostarmi ad un determinato id???

    questo per evitare che il server mi dia l'errore ("non si dispone di un record corrente...") qualcosa del genere.

    Grazie, ciao.

  4. #4
    puoi direttamente accedere al recordset che ti serve

    codice:
    "Select * from news where Id = " & tuoId
    prude il dito, lui sdraiato
    ha giocato a guardie e ladri col ladro sbagliato

  5. #5
    Utente di HTML.it L'avatar di salvod
    Registrato dal
    Feb 2002
    Messaggi
    314
    di nulla!!

    per la questione dell'id spiegati meglio... forse è il caso che ti sugegrisce GudFella. cmq per evitare che ti restituisce l'errore basta che fai un controllo sul recset.EOF che è true quando appunto si arriva alla fine del recordset o il recordset è vuoto


  6. #6
    se ti serve una paginazione fai prima a cercare "paginazione" nel forum
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  7. #7
    no, no, non mi serve una paginazione, è una cosa semplice, ma purtroppo limitata dalle mie scarse conoscenze del linguaggio, cmq cerco di spiegarmi meglio:

    ho una querystring

    21 è un'esempio

    codice:
    http://localhost/news.asp?id=21
    nella pagina metto

    codice:
    id = Request.Querystring("id")
    se io come ha detto salvo, mi faccio

    codice:
    "Select * from news where Id = " & tuoId
    mi seleziona solo quel record,

    io invece vorrei spostarmi su quel record, in modo tale che da quella pagina posso spostarmi alla news precedente o successiva.

  8. #8
    appunto, PAGINAZIONE
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  9. #9
    Perdonami, cerco di spiegarmi meglio, così che tu possa indicarmi con certezza:

    ho una pagina (newsIndex.asp) che mi elenca le news per titolo, sottotitolo e data, cliccando sul titolo di una news invia ad una pagina dove mi stampa a video la notizia dettagliata elencando titolo, testo , foto e link, la news viene inviata tramite querystring
    codice:
    newsDettaglio.asp?id=&<%=recordset("id")%>
    per recuperare la news nella pagina newsDettagli.asp, imposto il recordset in questo modo
    codice:
    set recordset = connessione.execute("Select * from news where id="&id)
    fin qui tutto ok!
    Alla fine di questa pagina avevo avuto l'idea di mettere due link che dalla stessa pagina ti spostavano di una news avanti (o indietro), e ho provato come mi ha detto salvo a fare una pagina di refresh, in questo modo:
    codice:
    News successiva
    poi nella stessa pagina mi recupero il muovi tramite Request.queristring... e metto questa condizione:
    codice:
    <%
    if (muovi = "avanti")then
    recset.MoveNext
    %>
    ma purtroppo mi restituisce il seguente errore:
    codice:
    Tipo di errore:
    ADODB.Recordset (0x800A0BCD)
    Il record corrente corrisponde all'inizio o alla fine del file oppure è stato eliminato. Per eseguire l'operazione richiesta è necessario disporre di un record corrente.
    Spero di essere stato chiaro, perdonate la mia insistenza

    Grazie, ciao.

  10. #10
    Utente di HTML.it L'avatar di salvod
    Registrato dal
    Feb 2002
    Messaggi
    314
    set recordset = connessione.execute("Select * from news where id="&id)
    con questa query selezioni solo un record.. quindi se gli dici di spostarsi "avanti" è normale che ti dica che il record corrente è vuoto.. perchè in pratica sei arrivato alla fine del recordset che in questo caso è composto da 1 solo record..

    per ovviare al tuo problema fai così...

    codice:
    id = Request.Querystring("id")
    
    if (muovi = "avanti")then
    set rs2 = connessione.execute("Select MAX(id) As maxID from news)
    maxId = rs2("maxID")
    rs2.Close()
    
    id = id + 1
    set recordset = connessione.execute("Select * from news where id=" & id & "order by id")
    
    while(recordset.EOF AND id <= maxId) 
       recordset.Close()
       id = id + 1
       set recordset = connessione.execute("Select * from news where id="&id& "order by id")
    wend
    
    else
       set recordset = connessione.execute("Select * from news where id="&id& "order by id")
    end if
    
    --- resto dello script dove gestisci la visualizzazione della news
    spero di non aver scritto castronerie visto che ancora ho un po i postumi della sbornia di stanotte



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.