Почему мой оператор SQL отображает данные в таблицу, прежде чем я указываю дату вывода из средства выбора даты

У меня есть проблема, которую я пытаюсь решить некоторое время назад.
У меня есть таблица, которая отображает названия компаний и пригородов.
Поэтому я использую 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?

Пожалуйста, помогите кому-нибудь!

Спасибо

0

Решение

Если вы хотите, чтобы при первой загрузке страницы или обновлении ваша таблица была загружена пустой, вы можете использовать это условие

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"}

Это условие проверит, что если пользователь выбрал дату из указателя даты, то он запустит запрос.

1

Другие решения

Вероятно, старая проблема 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
0

По вопросам рекламы [email protected]