У меня есть проблема, которую я пытаюсь решить некоторое время назад.
У меня есть таблица, которая отображает названия компаний и пригородов.
Поэтому я использую 2 оператора select в одном запросе SQL, чтобы получить желаемый вывод. И я могу видеть свои данные из таблицы. Я выбираю диапазон дат из средства выбора даты.
Теперь МОЯ ПРОБЛЕМА: Я не хочу, чтобы данные автоматически заполняли таблицу.
Всякий раз, когда я захожу на страницу, в таблице уже отображаются данные, и я не выбираю дату из средства выбора даты.
Есть ли способ исправить эту проблему?
Пожалуйста посоветуй.
Это мой SQL-оператор, который, как мне кажется, является проблемой, но я не знаю, как ее решить.
SELECT Name, Suburb
FROM Client_table, user
WHERE Client_Id NOT IN
(SELECT Distinct client_fk AS callesmade FROM Visits_table
WHERE Start_Date >= '".$Fdate."')
AND
Branch = area
AND username = '".$_SESSION["username"]."'
ORDER BY Suburb, Name"
В чем проблема из моего оператора SQL?
Пожалуйста, помогите кому-нибудь!
Спасибо
Если вы хотите, чтобы при первой загрузке страницы или обновлении ваша таблица была загружена пустой, вы можете использовать это условие
if(isset($Fdate) && $Fdate !='')
{
SELECT Name, Suburb FROM Client_table, user WHERE Client_Id NOT IN (SELECT Distinct client_fk AS callesmade FROM Visits_table WHERE Start_Date >= '".$Fdate."') AND Branch = area AND username = '".$_SESSION["username"]."' ORDER BY Suburb, Name"}
Это условие проверит, что если пользователь выбрал дату из указателя даты, то он запустит запрос.
Вероятно, старая проблема NOT IN … Остерегайтесь NULL из подвыбора, потому что если у вас есть, NOT IN будет ложным, и ваш запрос вернет 0 строк.
Например, вы можете использовать NOT EXISTS вместо:
SELECT Name, Suburb
FROM Client_table, user
WHERE Client_Id NOT IN (SELECT client_fk
FROM Visits_table
WHERE client_fk = Client_Id AND Start_Date >= '".$Fdate."')
AND Branch = area AND username = '".$_SESSION["username"]."'
ORDER BY Suburb, Name"
Или просто убедитесь, что client_fk не имеет значение null:
SELECT Name, Suburb
FROM Client_table, user
WHERE Client_Id NOT IN (SELECT client_fk
FROM Visits_table
WHERE client_fk IS NOT NULL
and Start_Date >= '".$Fdate."')
AND Branch = area
AND username = '".$_SESSION["username"]."'
ORDER BY Suburb, Name