[PHP] Ricerca multipla, evitare if

cosworthwolf

Nuovo Utente
21 Giu 2018
4
0
1
Buongiorno, questo è il mio primo post quindi spero di non commettere errori. Premetto che sono alle prime armi con il php ma dopo diversi giorni di "duro lavoro" son riuscito a creare una pagina di ricerca in un database. La pagina in questione funziona su singola tabella ed effettua una ricerca multipla tramite form (circa una ventina di campi di ricerca!!).
Finchè le variabili sono solo campi di testo, il sistema funziona perfettamente effettuando la ricerca anche se alcuni campi vengono lasciati vuoti ma appena inserisco nel form un campo con relativa variabile numerica, sono obbligato ad inserire un valore nei suddetti campi altrimenti va in errore.
La mia domanda è, è possibile aggirare questo problema senza dover per forza utilzzare un if/else con relative query per ogni singolo campo numerico? (sono almeno 6 :eek::eek::eek:)

Spero di essere stato chiaro :(
 

macus_adi

Utente Attivo
5 Dic 2017
1.326
89
48
IT/SW
Certo, basta parametrizzare la query con filtro su campo di ricerca....
Se utilizzi mysql, anche in altri post l'ho consigliato, puoi utilizzare la tabella information_schema, che oltre ad avere l'indice delle tabelle, ha anche informazioni inerenti i campi delle tabelle....

In questo modo puoi recuperare dinamicamente:
Tipo di dato
Nome Colonna
Valore di default etc....

Ciclando a 2 vie l'array dai campi della tabella e attraverso il prepare statement puoi valorizzare il filtro con i risultati e far visualizzare l'intersezione degli stessi....

Quanto detto si svolge in poco più di 10 minuti e con 10/15 linee di codice, quindi nulla di trascendentale e soprattutto nulla di impossibile anche per chi è alle prime armi...
 

cosworthwolf

Nuovo Utente
21 Giu 2018
4
0
1
MAcus_adi, intanto grazie per la risposta, inutile dire che ci ho capito ben poco, ma prima di gettare la spugna e chiedere chiarimenti o postare il codice, provo a fare un giro ed a capirci qualcosa da solo :D
 

cosworthwolf

Nuovo Utente
21 Giu 2018
4
0
1
Certo, basta parametrizzare la query con filtro su campo di ricerca....
Se utilizzi mysql, anche in altri post l'ho consigliato, puoi utilizzare la tabella information_schema, che oltre ad avere l'indice delle tabelle, ha anche informazioni inerenti i campi delle tabelle....

In questo modo puoi recuperare dinamicamente:
Tipo di dato
Nome Colonna
Valore di default etc....

Ciclando a 2 vie l'array dai campi della tabella e attraverso il prepare statement puoi valorizzare il filtro con i risultati e far visualizzare l'intersezione degli stessi....

Quanto detto si svolge in poco più di 10 minuti e con 10/15 linee di codice, quindi nulla di trascendentale e soprattutto nulla di impossibile anche per chi è alle prime armi...

Non so se ho capito bene ma in questo modo è come se inserissi (in caso di campo vuoto) un valore di default. E' così? perchè a me invece interesserebbe far finta che quel campo non esista cioè che la ricerca funzioni solo in base ai valori immessi.
 

macus_adi

Utente Attivo
5 Dic 2017
1.326
89
48
IT/SW
Allora mappi i dati in input con quelli della tabella!
Hai dati in POST/GET come ti pare, ed effettui il mapping solo sui dati che ti interessano....
Tabella:
ID
TXT1
TXT2
...
TXTn

DATI in PSOT
DATO1
DATO2
DATO3

PHP:
$ar_map=['DATO1'=>'TXT1','DATO2'=>'TXT"'.....'DATOn'=>'TXTm'];
e cicli solo se il valore del dato non è nullo... naturalmente la esegui sul valore del dato ar_map e non sulla chiave!
 
Discussioni simili
Autore Titolo Forum Risposte Data
U [PHP] form per ricerca multipla: Unknown column 'undefined' in 'where clause' PHP 2
L Ricerca sviluppatori PHP tempo indeterminato Milano Offerte e Richieste di Lavoro e/o Collaborazione 0
S [PHP] Creare collegamento filtri di ricerca al database PHP 6
L [PHP] Ricerca su search bar esterna PHP 1
Alex_70 [PHP] Ricerca con risultati cliccabili PHP 21
ANDREA20 [PHP] motore di ricerca nel sito PHP 11
O [PHP] Ricerca record tramite post PHP 7
T [PHP] Ricerca nel database PHP 2
M [OFFRO][RETRIBUITO] Milano IT Consulting SRL - Ricerca 1 Consulente PHP Offerte e Richieste di Lavoro e/o Collaborazione 0
andreas88 Da .htm a .php, perdo le mie posizioni su Google ricerca? SEO e Posizionamento 9
Emix [PHP] Ricerca e modifica su due tabelle PHP 26
G [PHP] FORM DI RICERCA ESTESA PHP 2
borgo italia [PHP] ricerca caratteri accentati PHP 4
P [PHP] ricerca dati PHP 1
Emix [PHP][MYSQL] Ricerca avanzata tramite form PHP 6
T4MAR4 [PHP] Problema ricerca con apostrofo PHP 2
R [PHP] Prendere dati da moduli di ricerca esterni PHP 4
T4MAR4 [PHP] piu select in ricerca PHP 1
T4MAR4 [PHP] Inserire piu campi di ricerca PHP 2
A [PHP] Problema paginazione motore di ricerca PHP 48
TheWhiteRabbit Perfezionare ricerca in PHP - NO DATABASE - (Website X5) PHP 5
sandropochi [PHP] Form per creare filtro di ricerca su DB PHP 8
giuseppe_123 [PHP] ricerca in una tabella con my sql PHP 0
L [PHP] ricerca per un campo o per più campi PHP 5
M [PHP] Ricerca con data timestamp PHP 45
B Ricerca PHP e Prenotazione PHP PHP 2
M [PHP] Evidenziare le parole cercate nei risultati di una ricerca PHP 1
MarcoGrazia [PDO][PHP[MySQL] Piccolo modulo di ricerca in un sito tramite l'operatore LIKE Snippet PHP 0
Y [Retribuito][Offro] RICERCA PROGRAMMATORI iOS e PHP/DB Offerte e Richieste di Lavoro e/o Collaborazione 0
S Un aiuto su uno script di ricerca avanzata in php che sto verificando. PHP 1
I Motore di ricerca php PHP 2
C [Offro][Retribuito] Cloudworks srl ricerca un junior PHP developer Offerte e Richieste di Lavoro e/o Collaborazione 0
N PHP Ricerca utente, Tabella con più elementi PHP 8
M motore di ricerca complesso php PHP 2
R Barra ricerca php e mysql PHP 0
R Ricerca Email in database mysql con php PHP 2
S [RISOLTO]aiuto, non riesco afar funzionare il camp odi ricerca per un DB con PHP PHP 5
M Box di ricerca in php PHP 3
P PHP modulo ricerca e ordine alfabetico PHP 5
G Visualizzazion modulo di ricerca in PHP e MySql PHP 0
A Ricerca full text mysq ed estrazione con php PHP 8
G Php problema con risultato di ricerca PHP 2
I Facile.it Spa ricerca Senior PHP Developer forti ed ambiziosi! Offerte e Richieste di Lavoro e/o Collaborazione 0
K Problema ricerca con piu campi in php PHP 3
Sargon Php / My sql motore di ricerca PHP 21
F Ricerca avanzata PHP & MySQL PHP 4
P PHP Workgroup Livorno, RICERCA giovani programmatori! Offerte e Richieste di Lavoro e/o Collaborazione 1
W [Php - MySql] ricerca con form select diversi PHP 14
A mini motore di ricerca in php PHP 3
A funzione ricerca in php??? help me... PHP 1

Discussioni simili