Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente bannato
    Registrato dal
    Apr 2005
    Messaggi
    323

    aiuto codice: recordset

    premetto che uso solo ultradev perche nonso molto di asp.
    ecco il mio problema.
    io ho una pagina dove sono messi in elenco da un database dei nomi di locali in ordine alfabetico (ORDER BY nome ASC )

    io volevo sapere se da un tasto nella stessa pagina è possibile scegliere di cambiare le modalita' di visualizzazione dei risultati.
    ovvero ho nel db un campo HIT e uno HIT2

    come posso da un tasto nella stessa pagina visualizzare i risultati con un hit discendente e poi da un altro tasto vederli con un HIT2 ascendente?

    è possibile?

    per favore postatemi un po di esempi o codice perche sono un po ritardato!

    PS io di solito facevo questo creando 3 pagine con recordset divesi con filtro!

    ecco la mia interrogazione al db come viene fatta.


    <%
    Dim Recordset1
    Dim Recordset1_numRows

    Set Recordset1 = Server.CreateObject("ADODB.Recordset")
    Recordset1.ActiveConnection = MM_locali_STRING
    Recordset1.Source = "SELECT * FROM Locali ORDER BY nome ASC"
    Recordset1.CursorType = 0
    Recordset1.CursorLocation = 2
    Recordset1.LockType = 1
    Recordset1.Open()

    Recordset1_numRows = 0
    %>

  2. #2
    codice:
    ordinamento = request.queryString("ordinamento")
    if len(ordinamento) = 0 then
    ordinamento = ASC
    end if 
    
    if uCase(ordinamento) <> "ASC" or uCase(ordimanento) <> "DESC" then
    ordinamento = "ASC"
    end if 
    
    sql = "SELECT * FROM Locali ORDER BY nome " & ordinamento
    
    Ascendente 
    Discendente

  3. #3
    Utente bannato
    Registrato dal
    Apr 2005
    Messaggi
    323
    ti ringrazio per l aiuto e la velocita di risposta ma aiutami ancora...

    quel codice asp dove lo devo mettere?
    dentro dei tag asp ovunque o dentro un recordset?

    questa è la mia pagina: index.asp

    <%@LANGUAGE="VBSCRIPT"%>

    <%
    Dim Recordset1
    Dim Recordset1_numRows

    Set Recordset1 = Server.CreateObject("ADODB.Recordset")
    Recordset1.ActiveConnection = MM_locali_STRING
    Recordset1.Source = "SELECT * FROM Locali ORDER BY nome ASC"
    Recordset1.CursorType = 0
    Recordset1.CursorLocation = 2
    Recordset1.LockType = 1
    Recordset1.Open()

    Recordset1_numRows = 0
    %>
    <%
    Dim Repeat1__numRows
    Dim Repeat1__index

    Repeat1__numRows = -1
    Repeat1__index = 0
    Recordset1_numRows = Recordset1_numRows + Repeat1__numRows
    %>



    il tuo codice devo metterlo li sotto?
    perche dreamweaver fa un po di casini per quello chiedo!

  4. #4
    Utente bannato
    Registrato dal
    Apr 2005
    Messaggi
    323
    poi preciso una cosa.
    tu col tuo codice mi fai solo invertire la visualizzazione da asc a disc.
    ma io vorrei cambiare proprio il parametro di ricerca.
    è possibile?

    ovvero ordinarli prima per NOME ma poi per HIT e HIT2

    se po fa??

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    254
    Si, puoi richiamare la stessa pagina passandogli come parametri sia il campo su cui vuoi ordinare sia il tipo di ordinamento, e poi fai una select tipo
    SELECT * from nome_tabella WHERE campo=" & valore &" ORDER BY " &ordinamento& " " & tipo

  6. #6
    Utente bannato
    Registrato dal
    Apr 2005
    Messaggi
    323
    ma per richiamare un altro recordset devo anche crearlo uno o due nuovi?
    se lo creo che collegamento devo poi dare al link per richiamarlo?

    o facci prima a fare altre 3 pagine diverse e amen?


    ecco la mia pagina: cosa devo cambiare qui?:

    <%@LANGUAGE="VBSCRIPT"%>


    <%
    Dim Recordset1
    Dim Recordset1_numRows

    Set Recordset1 = Server.CreateObject("ADODB.Recordset")
    Recordset1.ActiveConnection = MM_locali_STRING
    Recordset1.Source = "SELECT * FROM Locali ORDER BY nome ASC"
    Recordset1.CursorType = 0
    Recordset1.CursorLocation = 2
    Recordset1.LockType = 1
    Recordset1.Open()

    Recordset1_numRows = 0
    %>
    <%
    Dim Repeat1__numRows
    Dim Repeat1__index

    Repeat1__numRows = -1
    Repeat1__index = 0
    Recordset1_numRows = Recordset1_numRows + Repeat1__numRows
    %>
    <%
    While ((Repeat1__numRows <> 0) AND (NOT Recordset1.EOF))
    %>

    body
    <%=(Recordset1.Fields.Item("nome").Value)%>
    /body

    mi potete fare un esempio concreto col codice per favore?

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    254
    Allora...
    nella pagina crei una form che richiama se stessa in cui metti i pulsanti che determinano l'ordinamento, per es.:

    <form action="conferma_ricerca.asp" method="POST">
    <tr>
    <td width="7%"><input type="submit" value="Dal" name="B1"></td>
    <td width="7%"><input type="submit" value="Al" name="B1"></td>
    <td width="12%"><input type="submit" value="Sede" name="B1"></td>
    <td width="25%"><input type="submit" value="Descrizione" name="B1"></td>
    </tr></form>

    quando carichi la pagina, controlli se sei arrivato dalla stessa pagina e determini il valore di B1: in base a questo crei una variabile "ordinamento"

    select case request.form("B1")
    case "Descrizione"
    ordinamento="attività"
    case "Dal"
    ordinamento="inizio"

    end select

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    254
    Allora...
    nella pagina crei una form che richiama se stessa in cui metti i pulsanti che determinano l'ordinamento, per es.:

    <form action="conferma_ricerca.asp" method="POST">
    <tr>
    <td width="7%"><input type="submit" value="Dal" name="B1"></td>
    <td width="7%"><input type="submit" value="Al" name="B1"></td>
    <td width="12%"><input type="submit" value="Sede" name="B1"></td>
    <td width="25%"><input type="submit" value="Descrizione" name="B1"></td>
    </tr></form>

    quando carichi la pagina, controlli se sei arrivato dalla stessa pagina e determini il valore di B1: in base a questo crei una variabile "ordinamento"

    select case request.form("B1")
    case "Descrizione"
    ordinamento="attività"
    case "Dal"
    ordinamento="inizio"
    case "al"
    ordinamento="fine"
    end select

    dove attività, inizio e fine sono i nomi dei campi.
    A questo punto è sufficiente inserire la variabile nella select

    rs.source="SELECT FROM tabella WHERE campo=" & valore & "ORDER BY " & ordinamento


    Così hai un'unica pagina ed un'unico recordset

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.