# querySQL creata dinamicamente da utente

**URL:** <https://www.ruby-forum.com/t/querysql-creata-dinamicamente-da-utente/91070>\
**Category:** IT\
**Created:** [April 4, 2007, 10:13am UTC](https://www.ruby-forum.com/t/querysql-creata-dinamicamente-da-utente/91070 "2007-04-04T10:13:35Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![giuseppe](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/48db29/32.png) [@giuseppe](https://www.ruby-forum.com/u/giuseppe)\
**Post date:** [April 4, 2007, 10:13am UTC](https://www.ruby-forum.com/t/querysql-creata-dinamicamente-da-utente/91070/1 "2007-04-04T10:13:35Z")

</div>

Ciao, volevo sapere se Ã¨ possibile (e se si come) creare una query SQL  
dall’utente. Mi spiego meglio. Vorrei che un utente possa scegliere di  
visualizzare solo alcuni campi di una tabella, quindi decida quali campi  
la query (SELECT) debba andare a pescare.

E’ possibile?  
Grazien in anticipo per l’aiuto.

---

<div class="post-metadata">

**Author:** ![giuseppe](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/48db29/32.png) [@giuseppe](https://www.ruby-forum.com/u/giuseppe)\
**Post date:** [April 4, 2007, 11:31am UTC](https://www.ruby-forum.com/t/querysql-creata-dinamicamente-da-utente/91070/2 "2007-04-04T11:31:09Z")

</div>

Ciao,

tempo fa ho chiesto la stessa cosa e bene o male quasi tutti mi han  
consigliato di fare cosÃ¬.

Fai un check sui campi da selezionare e per quelli selezionati aggiunti  
una  
condizione e un valore per tale condizione a due stringhe, dopo tutti i  
controlli esegui la query, questo Ã¨ il codice, da notare l’asterisco su  
condvals nella chiamata find, senza non funziona(due giorni per capirlo  
asd), inoltre ho usato anche una stringa per restituire il termine  
cercato  
all’ utente

Saluti Andrea

def result  
conds = []  
condvals = []

if !params[:search\_user\_city].empty?  
conds \<\< " users.city = ? "  
condvals \<\< params[:search\_user\_city]  
search\_user\_string \<\< "user city: "+params[:search\_user\_city]  
end

```
if !params[:search_user_country].empty?
  conds << " users.country = ? "
  condvals << params[:search_user_country]
  search_user_string << "user country: 

```

"+params[:search\_user\_country]  
end

```
@travels = Travel.find(:all,
                         :include => [:user,:location],
                         :conditions => [conds.join(' and '),

```

\*condvals ])  
end

----- Original Message -----  
From: “giuseppe” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
To: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Sent: Wednesday, April 04, 2007 10:13 AM  
Subject: [ruby-it] querySQL creata dinamicamente da utente

> 

* * *

---

<div class="post-metadata">

**Author:** ![giuseppe](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/48db29/32.png) [@giuseppe](https://www.ruby-forum.com/u/giuseppe)\
**Post date:** [April 4, 2007, 12:34pm UTC](https://www.ruby-forum.com/t/querysql-creata-dinamicamente-da-utente/91070/3 "2007-04-04T12:34:21Z")

</div>

no guarda Ã¨ davvero semplice.  
prova che te ne accorgi.

----- Original Message -----  
From: “giuseppe” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
To: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Sent: Wednesday, April 04, 2007 11:52 AM  
Subject: [ruby-it] Re: querySQL creata dinamicamente da utente

> Grazie tante. Sembra un po’ complesso ma adesso provo.  
> Ciao
> 
> –  
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

* * *

---

<div class="post-metadata">

**Author:** ![giuseppe](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/48db29/32.png) [@giuseppe](https://www.ruby-forum.com/u/giuseppe)\
**Post date:** [April 4, 2007, 11:52am UTC](https://www.ruby-forum.com/t/querysql-creata-dinamicamente-da-utente/91070/4 "2007-04-04T11:52:32Z")

</div>

Grazie tante. Sembra un po’ complesso ma adesso provo.  
Ciao

---

<div class="post-metadata">

**Author:** ![giuseppe](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/48db29/32.png) [@giuseppe](https://www.ruby-forum.com/u/giuseppe)\
**Post date:** [April 4, 2007, 6:22pm UTC](https://www.ruby-forum.com/t/querysql-creata-dinamicamente-da-utente/91070/5 "2007-04-04T18:22:32Z")

</div>

“stb” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

> Ciao,
> 
> tempo fa ho chiesto la stessa cosa e bene o male quasi tutti mi han  
> consigliato di fare cosÃ¬.
> 
> Fai un check sui campi da selezionare e per quelli selezionati  
> aggiunti una condizione e un valore per tale condizione a due  
> stringhe, dopo tutti i controlli esegui la query, questo Ã¨ il codice,

Ma credo che ‘giuseppe’ voglia modificare a runtime l’elenco dei campi  
restituiti dalla query, non le condizioni della query.
