Ho una tabella html che carica tutto in una tabella di database mySQL. Ho elenchi a discesa che riguardano le colonne di quella tabella mySQL - quando l'utente seleziona uno dei menu a discesa utilizza AJAX per interrogare il database.Creare una query mysql dinamica utilizzando le variabili php
Ho bisogno di capire come compilare la query in modo dinamico perché a volte i menu a discesa saranno vuoti (cioè non vogliono filtrare da quella colonna).
Qual è il modo migliore per farlo?
Attualmente ho qualcosa di simile:
$stationFilter = $_GET['station'];
$verticalFilter = $_GET['vertical'];
$creativeFilter = $_GET['creative'];
$weekFilter = $_GET['week'];
$result = mysql_query("SELECT * FROM $tableName WHERE STATION_NETWORK = '$stationFilter' AND VERTICAL = '$verticalFilter' AND CREATIVE = '$creativeFilter' AND WK = '$weekFilter'");
$data = array();
while ($row = mysql_fetch_row($result))
{
$data[] = $row;
}
$finalarray['rowdata'] = $data;
Che si può immaginare non funziona perché se uno qualsiasi di questi campi sono vuoti - l'interrogazione fallisce (o non restituisce nulla, piuttosto).
Ovviamente la creazione di una query "statica" del genere rende davvero difficile se alcune variabili sono vuote.
Qual è il modo migliore per creare dinamicamente quella query in modo che entri solo quelli che non sono vuoti vengono aggiunti alla query in modo che possa completare e visualizzare correttamente i dati appropriati?
Perché non eco la query per vedere ciò che è sbagliato quando discesa è vuota? –
Non usare mysql_query, è deprecato. Inoltre, sei inviolabile alle iniezioni di SQL. – Jonast92
In questo momento sono solo preoccupato di renderlo operativo. Questo è solo specificamente per intranet e per farlo funzionare. Non vedrà mai il mondo esterno. Grazie per la preoccupazione, è qualcosa di cui sono a conoscenza, ma voglio vedere se riesco a farlo funzionare. – Hanny