Mam tabelę html ładującą wszystko w tabeli bazy danych mySQL. Mam listy rozwijane, które odnoszą się do kolumn tej tabeli mySQL - gdy użytkownik wybierze jedno z menu rozwijanych, używa AJAX do wysyłania zapytań do bazy danych.Tworzenie dynamicznego zapytania mysql przy użyciu zmiennych php
Potrzebuję dowiedzieć się, jak zbudować zapytanie dynamicznie, ponieważ czasami listy rozwijane będą puste (tj. Nie chcą filtrować według tej kolumny).
Jaki jest najlepszy sposób na zrobienie tego?
Obecnie mam coś takiego:
$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;
które można sobie wyobrazić nie działa, ponieważ jeśli którykolwiek z tych pól jest pusta - kwerenda nie powiedzie się (lub zwraca nic, raczej).
Oczywiście tworzenie takich "statycznych" zapytań, jak to naprawdę utrudnia, jeśli niektóre zmienne są puste.
Jaki jest najlepszy sposób dynamicznego utworzenia tego zapytania, aby zawierał tylko te, które nie są puste, zostały dodane do zapytania, aby można było pomyślnie ukończyć i wyświetlić odpowiednie dane?
Dlaczego nie echo zapytanie, aby zobaczyć co jest nie tak, gdy rozwijana jest pusta? –
Nie używaj mysql_query, jest przestarzałe. Jesteś również podatny na zastrzyki sql. – Jonast92
W tej chwili jestem po prostu zainteresowany jego uruchomieniem. Jest to po prostu dla intranetu i aby działało. Nigdy nie zobaczy zewnętrznego świata. Dziękuję za troskę, jest to coś, czego jestem świadomy, ale chcę zobaczyć, czy mogę po prostu to zadziałać. – Hanny