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

Discussione: order by

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    12

    order by

    Ciao, è la prima volta che scrivo in un forum, ovviamente ho bisogno di aiuto!
    Vi posto il codice che vorrei modificare per ottenere una pagina con i records in ordine alfabetico

    <%

    Dim catid, strcat
    catid = Request.QueryString("id")
    strcat = Request.QueryString ("cat")

    If catid = "" OR (IsNumeric(catid) = false) Then
    Response.Redirect "default.asp"
    End if

    Dim catname, productslist
    sub productInfo(connObj,category)
    q = chr(34)
    set cmd = server.CreateObject("ADODB.Command")
    cmd.ActiveConnection = connObj
    cmd.CommandText = "qryProdsCategory"
    cmd.CommandType = adCmdStoredProc
    set param = cmd.CreateParameter("theCategory",adInteger,adPara mInput,4)
    cmd.Parameters.Append(param)
    cmd("theCategory") = Cint(CATEGORY)
    set rs = server.CreateObject("ADODB.Recordset")

    set rs = cmd.Execute

    if not rs.EOF then
    catname = rs("categoria")
    strHTML = "<table border=0 cellPadding=3 cellSpacing=1 width='100%'td valign=top align=left>"
    strHTML = strHTML & ""

    i = 1
    while not rs.EOF



    strHTML = strHTML & "<td valign=top align=left>" & vbcrlf

    strHTML = strHTML & "<h5><DD>" & rs("CIMAGEURL")&" - <font color=red> " + rs("keywords") & "<font color=black> - E.mail:<font color=green> " + rs("ccode") + "<font size=-1><a href="&q&"cartolina.asp?id=" & rs("catalogid")&q& " /a>" & "<img src= " & q& "..\minicartolina.gif" & q& "" & rs("cimageurl") &q& " align=" & q& "center"& q & ">" & "<font size=-1><a href="&q&"goemail.asp?id=" & rs("catalogid")&q& " /a>" & "<img src= " & q& "..\email.gif" & q& "" & rs("cimageurl") &q& " align=" & q& "center"& q & ">"& vbcrlf

    strHTML = strHTML & "</form></td>" & vbcrlf
    if (i mod 1) = 0 then
    strHTML = strHTML & "</tr><tr>" & vbcrlf
    end if
    i = i + 1
    rs.MoveNext
    wend

    strHTML = strHTML & "<tr></table>"
    else
    strHTML = strHTML & "

    <DD> <DD><DD><DD>Spett. "
    strHTML = "

    <DD><DD><DD><DD>IN QUESTO MESE NON SONO PRESENTI PRENOTAZIONI.

    "
    catname = "Nessuna informazione"
    end if
    productslist = strHTML
    rs.Close
    set rs = nothing
    set cmd = nothing
    end sub
    %>


    La pagina così come è scritta funziona perfettamente cioè restituisce i records di una sola categoria,in ordine di immissione, mentre invece avrei bisogno di metterli in ordine alfabetico,

    se uso:

    Set rs = Server.CreateObject ("ADODB.Recordset")
    sql = "Select * FROM product ORDER BY cimageurlASC;"
    rs.Open sql, connobj, adOpenForwardOnly,adLockReadOnly,adCmdText

    al posto di:

    set rs = server.CreateObject("ADODB.Recordset")


    ottengo l'ordine alfabetico tanto desiderato, ma di TUTTI I RECORDS della tabella, mandano a fagioli la divisioni per categoria.

    se qualcuno leggendo il codice ci capisce qualcosa e avesse voglia di aiutarmi, glie ne sarei veramente grato.
    p.s. sono veramente scarso eventuali aiuti fateli in modo scolastico, ciao.

  2. #2
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,031
    codice:
     sql = "Select * FROM product ORDER BY cimageurlASC;"
    Infatti questa query seleziona tutti i record presenti nella tabella Product e li ordina in modo crescente per il campo cimageurl

    Dov'è l'altra query? Fai un execute senza passargli nessuna istruzione SQL...

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    12
    prima ho postato l'intero codice tranne

    'on error resume next
    call openConn()
    call productInfo(dbc,catid)

    call closeConn()
    response.write catname


    esiste già nel codice un comando excute

    set rs = server.CreateObject("ADODB.Recordset")

    set rs = cmd.Execute

    proprio dove avevo provato ad inserire la query:

    Set rs = Server.CreateObject ("ADODB.Recordset")
    sql = "Select * FROM product ORDER BY cimageurlASC;"
    rs.Open sql, connobj, adOpenForwardOnly,adLockReadOnly,adCmdText

    purtroppo sono un mulo ..testardo ma poco esperto, quindi non riesco ad aiutarti ..nell'aiutarmi

    perciò cmq. GRAZIE.

  4. #4

  5. #5
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,031
    La pagina così come è scritta funziona perfettamente cioè restituisce i records di una sola categoria,in ordine di immissione, mentre invece avrei bisogno di metterli in ordine alfabetico,
    mi pare strano che la query che hai postato faccia quanto scritto sopra.
    Come può restituire i record di UNA SOLA categoria se non hai una clausola WHERE?

    Fai una cosa, posta uno screen o la struttura del database e chiedi esattamente cosa vuoi estrarre. Il primo che passa ti scrive la query corretta.

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    12
    provo a spiegare meglio

    il db ha due tabelle una con le categorie ( che nel mio caso sono mesi dell'anno) e una con i prodotti che nel mio caso sono nominativi

    la pagina default pescando dalla tabella "categorie" crea un indice dei mesi, cliccando su uno di questi mesi la pagina che vi ho postato , restituisce i nominativi collegati a quel mese in ordine di inserimento.

    come già detto se formulo " ...order by nome campo" la pagina mi restituisce tutti i record della tabella prodotti, ignorando il campo category, ovvero quello che li divide per il mese di appartenenza.

    in sostanza mi chiedevo se c'era un comando leggibile e modificabile nella pagina postata.

    Se non trovo soluzione cambio radicalmente script, ma è un peccato perchè per il resto è ottimo.

    ..attendo

  7. #7
    puoi postare la pagina completa e non a pezzi? grazie

  8. #8
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,031
    a me basterebbe vedere la struttura del db, la query che avevi fatto completa (perchè quella che hai postato difficilmente può ritornarti una sola categoria) e sapere quali sono i campi collegati...

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    12
    certo eccola:

    <%

    Dim catid, strcat
    catid = Request.QueryString("id")
    strcat = Request.QueryString ("cat")

    If catid = "" OR (IsNumeric(catid) = false) Then
    Response.Redirect "default.asp"
    End if

    Dim catname, productslist
    sub productInfo(connObj,category)
    q = chr(34)
    set cmd = server.CreateObject("ADODB.Command")
    cmd.ActiveConnection = connObj
    cmd.CommandText = "qryProdsCategory"
    cmd.CommandType = adCmdStoredProc
    set param = cmd.CreateParameter("theCategory",adInteger,adPara mInput,4)
    cmd.Parameters.Append(param)
    cmd("theCategory") = Cint(CATEGORY)
    set rs = server.CreateObject("ADODB.Recordset")

    set rs = cmd.Execute

    if not rs.EOF then
    catname = rs("categoria")
    strHTML = "<table border=0 cellPadding=3 cellSpacing=1 width='100%'td valign=top align=left>"
    strHTML = strHTML & ""

    i = 1
    while not rs.EOF



    strHTML = strHTML & "<td valign=top align=left>" & vbcrlf

    strHTML = strHTML & "<h5><DD>" & rs("CIMAGEURL")&" - <font color=red> " + rs("keywords") & "<font color=black> - E.mail:<font color=green> " + rs("ccode") + "<font size=-1><a href="&q&"cartolina.asp?id=" & rs("catalogid")&q& " /a>" & "<img src= " & q& "..\minicartolina.gif" & q& "" & rs("cimageurl") &q& " align=" & q& "center"& q & ">" & "<font size=-1><a href="&q&"goemail.asp?id=" & rs("catalogid")&q& " /a>" & "<img src= " & q& "..\email.gif" & q& "" & rs("cimageurl") &q& " align=" & q& "center"& q & ">"& vbcrlf

    strHTML = strHTML & "</form></td>" & vbcrlf
    if (i mod 1) = 0 then
    strHTML = strHTML & "</tr><tr>" & vbcrlf
    end if
    i = i + 1
    rs.MoveNext
    wend

    strHTML = strHTML & "<tr></table>"
    else
    strHTML = strHTML & "

    <DD> <DD><DD><DD>Spett. "
    strHTML = "

    <DD><DD><DD><DD>IN QUESTO MESE NON SONO PRESENTI PRENOTAZIONI.

    "
    catname = "Nessuna informazione"
    end if
    productslist = strHTML
    rs.Close
    set rs = nothing
    set cmd = nothing
    end sub
    %>
    <%
    'on error resume next
    call openConn()
    call productInfo(dbc,catid)

    call closeConn()
    response.write catname
    %>
    <%= productslist %>



    questa è la pagina che restituisce tutti i record di UN SOLO MESE
    ovviamente non è farina del mio sacco io l'ho solo adattato alle mie esigenze..

  10. #10
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,031
    codice:
     set rs = cmd.Execute
    Io non ho mai visto settare un recordset senza passare niente al metodo Execute... e non vedo nessun comando SQL nel codice... :master:

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.