Я разработал Php & Mysql, управляемый данными веб-сайт «Студенческий отчет о прогрессе». Его панель навигации содержит 3 ссылки для страницы 1, страницы 2 и страницы 3.
На странице 1 показана общая процентная сводка результатов теста ученика (по умолчанию его запрос на выбор mysql относится к начальной дате класса до текущей даты), а на странице 1 также есть два текстовых поля с типом даты, кнопка «Отчет о прогрессе» для отображения прогресса ученика по дате «Страница 2» и кнопка «Посещаемость» для отображения даты на странице 3.
При прямом щелчке по ссылке на странице 2 и ссылке на странице 3 она ничего не показывает, потому что сначала нам нужно выбрать даты на странице 1, а затем нажать кнопку прогресса или кнопку посещаемости, чтобы получить «результат базового запроса mysql» на странице 2 и странице 3 соответственно. , После получения результата на странице 2 и странице 3, когда пользователь нажимает на ссылку страницы 2 и страницы 3 на панели навигации, он обновляется и результат исчезает. Я хочу и то и другое (Страница 2 & 3) оставаться на прежних результатах, несмотря на переход по их ссылкам на панели навигации. Как можно решить эту проблему?
Вы можете использовать JavaScript, чтобы не обновлять страницу, когда вы нажимаете на Page2 или Page3 как «вкладка» в Bootstrap -> Вкладка начальной загрузки (в середине страницы)
Или вы можете выбрать систему, в которой вы нажмете на страницу 1, она получит только первые 20 элементов, которые вам нужны, на странице 2 — 21-й элемент к 40-му элементу …
И вы делаете запрос COUNT (*), чтобы узнать, сколько страниц у вас будет.
@ User2332060,
Из вашего описания я понял, что вам нужны разные результаты на всех трех страницах: я бы порекомендовал использовать jQuery и ajax для этого.
Когда результаты загружаются на страницу 1 с помощью запроса mysql (от даты к дате), у вас есть эти даты, когда вы нажимаете на страницу 2 или страницу 3, вызываете функцию ajax и пропускаете эти даты, или если пользователь выбирает любую дату, передает ее в ajax и загружает результаты на страницу 3 и Страница 3 соответственно.
Теперь, когда вы перезагружаете или обновляете страницу 2 или страницу 3, вы говорите, что результаты исчезают, потому что вы никогда не сообщали своему сценарию, откуда брать данные, поэтому попробуйте включить функцию загрузки Windows в jquery и использовать запрос mysql по умолчанию для каждой соответствующей страницы.
Надеюсь это поможет!
Если я правильно понял ваш вопрос, то что вы пытаетесь сделать, это передать то, что было выбрано на странице 1, чтобы этот выбор сохранился для страницы 2 и страницы 3? Если мое понимание верно, то вы можете передать или опубликовать свой выбор в браузере. В целях безопасности вы можете даже хэшировать его, чтобы его нельзя было перехватить. Ниже приводится краткое описание того, что вы могли бы сделать, если я правильно понял ваш вопрос, я мог бы подробнее остановиться на следующем методе.
Страница 1:
if($_POST['date'] && ...){
$url="page2.php?dt=$_POST['date']";
}
Страница 2:
$date=$_REQUEST['dt'];
$sql="... Where date='".$date."'";
Вы можете использовать переменные сеанса или среды, чтобы сделать это, поскольку вы перенаправляете со страницы 1 на страницу 2 с выбранными пользователем датами, вы можете сохранить их в переменной сеанса.
$_SESSION['page2'] = $date;
Точно так же вы можете сделать для page3
$_SESSION['page3'] = $date;
Примечание. Создайте разные ключи сеанса для обеих страниц и сбрасывайте значения в переменных сеанса при каждой загрузке страницы page1.
unset($_SESSION['page2']);
unset($_SESSION['page3']);
Надеюсь, это поможет вам.