Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    150

    Selezione random di un record con condizioni

    Supposto che io abbia un database con i seguenti ( questi sono alcuni ) campi:

    clicksinunici
    clicksouttotali
    stato ( lo imposto a 1 se l' account è attivo e a 0 in caso contrario )

    come faccio a scrivere in asp ciò che riporto di seguito, ossia il contenuto di Sql:

    Codice PHP:
    Set Rs Server.CreateObject("ADODB.Recordset")
    Sql "Seleziona in maniera random un record tra quelli che rispettano la condizione che clicksoutunici siano minori o uguali a ratio * clickinunici e lo stato sia uguale a 1"
    Rs.Open SqlConn 
    dove compare anche la variabile ratio che definisco in un file a parte tramite un include

    PS: Sto usando Asp con Mysq, non so se cambi qualcosa nella risposta


    Grazie

  2. #2
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Non so cosa sia Mysq... suppongo MySQL

    In MySQL la sintassi per l'estrazione di valori random è la seguente:

    codice:
    sql = "SELECT campo FROM tbl WHERE = "tua condizione" ORDER BY RAND() LIMIT 18"
    18 è il numero di records estratti randomicamente e che rispettano la WHERE.
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    150
    Si.. per Mysl intendevo MySQL

    Allora potrebbe va bene questa sintassi:

    Codice PHP:
    Set Rs Server.CreateObject("ADODB.Recordset")
    Sql "SELECT * FROM members WHERE "clicksoutunici <= ratio clickinunici" AND "stato 1" ORDER BY RAND() LIMIT 18"
    Rs.Open SqlConn 
    in termini di virgolette?

    Ricordo che:
    - clicksoutunici
    - clickinunici
    - stato

    sono nomi di campi, members il nome della tabella, ratio il nome di una variabile ( in questo caso numerica ).

    Perchè proprio 18? A me serve uno di record che rispetta le condizioni. Devo quindi mettere LIMIT 1 ?
    Poi con questa Sql ricavo i dati relativi a un sito, ossia di tutti i campi che lo riguardano. I valori dei singoli campi li ottengo come al solito e cioè:

    nomecampo1 = Rs ("nomecampo1")
    nomecampo2 = Rs ("nomecampo2")
    ............................
    ............................
    ??

  4. #4
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Scusa ma tu hai parlato di estrazione random...

    cmq la tua query potrebbe essere questa:

    codice:
    Sql = "SELECT * "
    Sql = Sql & " FROM members  "
    Sql = Sql & " WHERE "
    Sql = Sql & " clicksoutunici <= ratio * clickinunici "
    Sql = Sql & " AND stato = 1  "
    Sql = Sql & " ORDER BY RAND() LIMIT 1" 
    Rs.Open Sql, Conn
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    150
    Si, ho parlato di estrazione random, ma di uno solo di record tra quelli che soddisfano le condizioni imposte...

    Ok, grazie, allora provo l' sql che mi hai scritto.

    Ho anche un altro problema, ossia "la troncatura degli url". Ad esempio se io clicco su un link del tipo

    http://www.miosito.com/pagina.asp?ur...t/?id=1&cat=10

    e nel file pagina.asp scrivo:


    <%
    Response.Redirect (Request.Querystring("url"))
    %>

    mi reindirizza a http://www.sito.it/?id=1 e non a http://www.sito.it/?id=1&cat=10 ossia mi tronca quello che viene da & in poi.. come posso fare perchè ciò venga evitato ??

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.