Я бы предложил менеджер компоновки GridLayout . Он представляет собой самое простое решение для показа наглядной визуализации элементов управления метками и текстовыми полями. Таким образом, вы просто определяете количество строк и столбцов во время создания экземпляра, а добавленные элементы управления будут обрабатываться менеджером.
Ваша проблема в этой части предложения WHERE
:
AND (pedido_data >= $data1 AND pedido_data <= $data2)
Поскольку вы не можете получить доступ к псевдонимам в предложении WHERE
, MySQL использует исходное значение столбца даты в этом тесте, и поэтому сравнение происходит как текст, а не как дата. Вам нужно изменить эту строку на
AND STR_TO_DATE(p.pedido_data,'%d/%m/%Y') BETWEEN '$data1' AND '$data2'
Обратите внимание также на добавление кавычек вокруг значений $data1
и $data2
(в противном случае 2019-02-28
интерпретируется буквально как 1989).
Обратите внимание, что если бы вы назвали свой псевдоним чем-то, отличным от того же имени, что и столбец, вы бы получили сообщение об ошибке MySQL в предложении WHERE
при попытке выполнить запрос, который немедленно показал бы проблему. [1111 ]