15 giugno 2012 alle 16:01:42 Ciao a tutti, ho questo codice:
rSQL = "SELECT TOP " & GLOBAL_SEARCH_TOP & " nID, nTitle, nHeader, nText, nAuthor, nDate, arID, arTitle, arAuthor, arDate FROM News, articles, articlespages, Versions WHERE nValid=1 AND nVersion=vID AND vCode='" & sXMLVersion & "' AND (" rSQL2 = "SELECT Count(*) FROM News, articles, articlespages, Versions WHERE nValid=1 AND arValid=1 AND nVersion=vID AND arID=apArticle AND apValid=1 AND arVersion=vID AND vCode='" & sXMLVersion & "' AND (" rSQLs = " OR nTitle LIKE '%$$WORD$$%' OR nText LIKE '%$$WORD$$%' OR nHeader LIKE '%$$WORD$$%' AND arTitle LIKE '%$$WORD$$%'" Set oCn = DBConnexion(DB_MAIN)
Set oRs = DBRecordSet(oCn, rSQL) eccetera eccetera ....
Come avrete già capito è una parte del codice del motore di ricerca. Poichè il motore di aspnuke restituisce un elenco che visualizza prima le vecchie news, io vorrei che mi elencasse prima le ultime inserite, ma non riesco a capire dove inserire l' ORDER BY nDate DESC C'è qualcuno che può aiutarmi ?
17 giugno 2012 alle 18:21:49 Nel file search-inc.asp trovi il codice SELECT CASE che permette di cercare in varie parti di Aspnuke, vai nella parte che riguarda gli articoli, alla fine della query SQL inserisci l'order by:
rSQLs = " OR nTitle LIKE '%$$WORD$$%' OR nText LIKE '%$$WORD$$%' OR nHeader LIKE '%$$WORD$$%' AND arTitle LIKE '%$$WORD$$%'ORDER BY nDate DESC"
--------------- A lavare la testa ai somari, ci si rimette l'acqua e il sapone!
05 luglio 2012 alle 18:08:36 Scusa il ritardo.... Dunque, ho riguardato il codice ed effettivamente inserendo l'ORDER BY così come si usa di solito va in errore, allora ho scritto questa riga di codice aggiuntiva:
rSQLp = rSQL & " ORDER BY nDate DESC "
che va inserita alla fine del codice di ricerca per le news
Case "news" sSectionName = GetTranslation("LANG_NEWS") rSQL = "SELECT nID, nTitle, nHeader, nText, nAuthor, nDate FROM news, versions WHERE nValid=1 AND nVersion=vID AND vCode='" & SQLEncrypt(sXMLVersion) & "' AND (" rSQL2 = "SELECT Count(*) FROM news, versions WHERE nValid=1 AND nVersion=vID AND vCode='" & sXMLVersion & "' AND (" rSQLs = "(nTitle LIKE '%$$WORD$$%' OR nHeader LIKE '%$$WORD$$%' OR nText LIKE '%$$WORD$$%')" rSQLp = rSQL & " ORDER BY nDate DESC "
dichirando la nuova variabile con Dim rSQLp allinizio della sub:
Sub DisplaySearchResults(sSection, sQuery, sOperator) Dim oCn, oRs, rSQL, rSQL2, rSQLr, rSQLs, X, oRs2, iLoop, rSQLp
inserisci la riga di codice anche alla fine del SELECT CASE dopo Case Else, trovi lo stesso codice di ricerca delle News che, viene considerato il codice di ricerca di default.
--------------- A lavare la testa ai somari, ci si rimette l'acqua e il sapone!