Thread obsoleto prendere valore radio button e passarlo alla query sql

tokyo74

Nuovo utente
Autore del topic
28 Novembre 2010
6
0
Miglior risposta
0
salve a tutti, ho un problema che mi sta dando un grattacapo, spero possiate indicarmi l'erroe che faccio. Spiego la situazione: ho un form dove ho un tasto di ricerca che prende la citta da passare alla query tramite il like appositamente costruito e dei radio button con dei valori che rifiltrano la ricerca fatta precedentemente inserendo il valore scelto nella query assengandolo nel capo apposito. Non sto riuscendo a passare questo valore alla query in questione dove sbaglio? :emoji_slight_frown:
allora prima ho provato i miei radio button con due file radio.html e submit.php
HTML:
Perfavore, Entra oppure Registrati per vedere i codici!

PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

come ci si aspetta mi ritorna il valore rispettivo

adesso devo applicarlo al mio progetto dove ho il file utente.php che contiene i form e il file search.php che riceve i dati e contiene la query in questione:
utente.php
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

search.php

PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

ma mi dà errore nel pezzo:
c.nomecarburante='$radio'
non prende la variabile, dove sbaglio?
 
Strano che non ti dia errori. Tu hai scritto la query con gli apici singoli ( ' ), e non puoi usare altri apici singoli o variabili all'interno. Quindi hai due modi per riscrivere la query: uno è di fare l'escape degli altri apici singoli e concatenare correttamente la variabile $radio
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
Oppure di usare i doppi apici, che non danno problemi con gli apici singoli e riconoscono le variabili:
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

Comunque sposto in assistenza tecnica :emoji_slight_smile:
 
grazie per la risposta Dvdxseo, avevo scritto in tutte e due i modi, ma in realtà il problema è un altro, siccome è una query pdo dove metto i punti interrogativi al posto delle variabili da passare perchè questi poi vegono sostituiti dopo che la query avvenga, il mio problema adesso è che per la ricerca nessun problema mi ritorna la variabile città ad esempio siracusa e funziona, ma per la variabile distributore la query non funziona perchè avrei bisogno di aggiungere gli apici alla variabile, di norma:
$radio=$_GET['radio'];
mi restituisce ad esempio: Benzina, io però avrei bisogno che alla variabile aggiungesse pure gli apici, come potrei risolvere?
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

è la variabile $radio che fà fallire la query, mentre per $data dato che appartiene ad una casella di testo di ricerca nessun problema
 
Ultima modifica da un moderatore:
Beh io sinceramente non mi complicherei la vita con le query parametriche di pdo.. Vacci alla maniera classica, con le variabili..
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
Anche se non capisco perché la variabile $data la vai a confrontare col campo città... :emoji_confused:

Comunque ho racchiuso il tuo codice nei tag
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
 
la variabile $data in pratica appartiene ad un tipo input testo ed in base a quello che scrivo lì nello specifico il nome della città, filtro il valore dal db con il valore messo li. Ho corretto ma non funge , cosa mi sfugge posto i due files completi coinvolti:

search.php

PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

mentre dal lato gestione dei from utente.php

PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

mi sta facendo impazzire da giorni, cosa mi sfugge? :cry:
 
la variabile $data in pratica appartiene ad un tipo input testo ed in base a quello che scrivo lì nello specifico il nome della città, filtro il valore dal db con il valore messo li. Ho corretto ma non funge , cosa mi sfugge posto i due files completi coinvolti:

search.php

PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

mentre dal lato gestione dei from utente.php

PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

mi sta facendo impazzire da giorni, cosa mi sfugge? :cry:
I codici sembrano ok.. Mi dici precisamente che errore ti dà?
 
il tipo di errore preciso non me lo indica, forse non sono riuscito a farmelo dare, cioè stampare la query con i risulati e in caso il tipo di errore, entro solo nell'if dove mi faccio dire se non ci sono risultati, di fatto l'unica cosa che mi dice è quella, non ci sono records, è da qualche mesetto che mi sono avvicinato a php, ancora non sono tanto pratico, mi diresti come farmi dare l'errore preciso? ho provato con echo $stm->errorInfo() ma non mi dice nulla, il fatto strano e che se passo i valori fissi o gli faccio prendere pure $data tutto funziona, sto cavolo di valore dal $radio non me lo prende, eppure se stampo un echo delle variabili ci sono, li ritorna :emoji_slight_frown:
 
Cambiamo approccio, crea una pagina php con questo codice:
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
Sostituisci host, nick, password e nome del database nel codice, e poi accedi alla pagina in questo modo:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
Cambiando Benzina e Roma con i dati che vuoi tu, e vediamo se esce qualche errore. Se la pagina rimane bianca, non ci sono errori nella query, altrimenti ti verrà stampato l'errore. :emoji_slight_smile:
 
grazie mille, fatto, la pagina rimane bianca, come dicevo sopra quando sostituisco i valori manualmente la query funziona, e prende pure con $data, che dà il valore per la città, invece deve andare storto qualcosa con $radio che assegna il valore del carburante preso dai radio button :emoji_slight_frown:
un dubbio, ma il fatto che la variabile presa che mi ritorna è senza apici, non dà problema alla query che invece ne ha bisogno? perchè se faccio un echo delle variabili mi stampa a seconda di cosa metto, Milano e Benzina, per la città dato che è un like tutto bene, ma per il carburante che di norma lo passo manualmente con "Benzina" non dà problemi senza o in qualche modo lo dovrebbe dare in automatico?

- - - Aggiornato - - -

porca paletta ho notato una cosa stramba, mi sono fatto stampare la query con i valori che gli vengono passati, praticamente sia che io scelgo la citta sia che scelga il carburante, viene utilizzato, riempito solo il campo del like, ecco perchè poi appena clicco sui radio button non mi dà risultati, il campo carburante rimane vuoto
SELECT d.nomeDistributore,d.indirizzo, d.citta,d.provincia,d.tipologia,c.nomeCarburante,f .prezzo,f.dataArrivo, s.disponibile FROM distributore d, carburante c, fornitura f, servire s WHERE d.idDistributore=s.idDistributore and d.idDistributore=f.idDistributore and c.idCarburante=f.idCarburante and c.nomeCarburante= '' and d.citta like 'siracusa' order by f.prezzo

sia che metto la citta sia che clicco sui radio button mi mette il valore dopo il like
SELECT d.nomeDistributore,d.indirizzo, d.citta,d.provincia,d.tipologia,c.nomeCarburante,f .prezzo,f.dataArrivo, s.disponibile FROM distributore d, carburante c, fornitura f, servire s WHERE d.idDistributore=s.idDistributore and d.idDistributore=f.idDistributore and c.idCarburante=f.idCarburante and c.nomeCarburante= '' and d.citta like 'Benzina' order by f.prezzo

- - - Aggiornato - - -

può essere che sta nelle funzioni jquery.ajax l'errore dove ho dato lo stesso nome alla funzione ?
i form sono messi bene?
 
Penso di aver capito il tuo problema @tokyo74.. Praticamente tu fai due volte makeAjaxRequest() con due parametri diversi.. E quindi una volta avrai la città, e una volta avrai il carburante, ma mai i due dati insieme.. devi fare una richiesta unica...