У меня есть следующий код с базовыми условиями проверки, который используется для фильтрации данных с использованием mysql и php.Можно попробовать и уловить высказывания, которые должны быть записаны внутри пользовательской функции php
У меня есть две процедуры, названные proc_report и proc_report_filtered тот, который получает все данные и один, который отображает данные на основе от и фильтров, установленных в форме. (submit_filter этого имя кнопки, подать от и в два поля ввода в форме.)
Ранее код, используемый для работы и отображать все данные, когда попытаться поймать заявление написано на месте of display_default_data(); в других разделах. Но для сокращения кода я использовал функцию display_default_data(), чтобы избежать повторной записи одного и того же фрагмента кода снова и снова. Но удивительно, когда я запускаю этот код, я не вижу никаких результатов.
<?php
function display_default_data()
{
try {
$records = $db->query("call proc_report");
$records->setFetchMode(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
die("Some problem getting data from database !!!" . $e->getMessage());
}
}
if (isset($_POST['submit_filter'])) {
if (isset($_POST['from'], $_POST['to'])) {
if (!empty($_POST['from']) && !empty($_POST['to'])) {
try {
$from = $_POST['from'];
$to = $_POST['to'];
$records = $db->prepare("CALL proc_report_filtered(?,?)");
$records->execute(array($from, $to));
} catch (PDOException $e) {
die("Some problem getting data from database !!!" . $e->getMessage());
}
} else {
echo "Enter some values before pressing Filter button !";
display_default_data();
}
} else {
echo "Please set values ";
display_default_data();
}
} else {
display_default_data();
}
?>
Является ли это способом записи функций и попыток, уловить утверждения в php? Пожалуйста, предложите мне, если что-то не так.
Также я чувствую, что код довольно длинный? Какие-нибудь лучшие предложения по его сокращению?
Он выглядит компактным, но arent нам не хватает, чтобы проверить, нажаты ли переменные isset и кнопка отправки (isset submit_filter в моем случае) –
Нет, мы не являемся. Назовите единственную причину, по которой нам нужны эти проверки. –
Я использовал isset с submit_filter, чтобы проверить, нажата ли кнопка. Так как нам нужно выполнить код только при нажатии кнопки. Также isset проверить, установлены ли значения from и to или нет. Код, который вы предложили, но я хотел бы знать, почему isset не используется. В учебных пособиях я видел, как люди используют его и говорят, что хорошая практика - использовать и isset, а не пустую. Не могли бы вы объяснить важность isset? Также последний вопрос. Вы также пропустили ($ records-> setFetchMode (PDO :: FETCH_ASSOC);) не требуется упоминать fetchmode каждый раз? –