Поисковая страница LARAVEPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Поисковая страница LARAVE

Сообщение Anonymous »

У меня есть лезвие Laravel для отображения информации, которая имеет две вкладки, текущие и предыдущие. Это также включает в себя функцию поиска. Моя проблема в том, что когда я ищу и применяю страницу, когда я нажимаю кнопку «Следующая», отображается необработанный HTML. Прямо сейчас я не уверен, чего мне не хватает. Новое страдание без поиска работает хорошо. Я использую поиск без страниц.

Код: Выделить всё





Pending Clients


Previous Clients








@include('client-list', [
'clients' => $clients,
'clientListKey' => 'current',




@include('client-list', [
'clients' => $clients,
'clientListKey' => 'previous',
])







$(document).ready(function () {
// Default active tab
let activeTab = 'current';

//add delay before searching

// Search input
$('#searchInput').on('input', function () {
let search = $(this).val();
let tab = $('#activeTab').val();

$.ajax({
url: '/schedule/search',
method: 'GET',
data: {
search: search,
tab: tab
},
success: function (response) {
$('#pendingClientList').html(response.currentHtml);
$('#previousClientList').html(response.previousHtml);
},
error: function (xhr) {
// Log any errors to the console
console.error('Error:', xhr.responseJSON.error);
}
});
});
});

document.addEventListener("DOMContentLoaded", function () {
// Tabs functionality in Schedule page
const tabs = document.querySelectorAll(".tab-btn");
const contents = document.querySelectorAll(".tab-content");

const toggleTab = (activeTab, activeContent) => {
tabs.forEach((tab) =>
tab.classList.remove("bg-gray-200", "dark:bg-gray-700")
);
contents.forEach((content) => content.classList.add("hidden"));

activeTab.classList.add("bg-gray-200", "dark:bg-gray-700");
activeContent.classList.remove("hidden");
};

tabs.forEach((tab) => {
tab.addEventListener("click", () => {
const target =
tab.id === "pendingTab" ? "pendingContent"  : "previousContent";
toggleTab(tab, document.getElementById(target));
});
});

// Set active tab based on URL
const urlParams = new URLSearchParams(window.location.search);
const activeTabParam = urlParams.get("tab") || "current";

const tabMap = {
current: {
tabBtn: document.getElementById("pendingTab"),
tabContent: document.getElementById("pendingContent"),
},
previous: {
tabBtn: document.getElementById("previousTab"),
tabContent: document.getElementById("previousContent"),
},
};

toggleTab(tabMap[activeTabParam].tabBtn, tabMap[activeTabParam].tabContent);

});

client-list.blade.php

Код: Выделить всё

@if (method_exists($clients[$clientListKey], 'links'))

{{ $clients[$clientListKey]
->appends(request()->except("{$clientListKey}_page"))
->appends([
"{$clientListKey}_page" => $clients[$clientListKey]->currentPage(),
'tab' => $clientListKey,
])
->links('pagination::tailwind') }}

@endif
< /code>
Это контроллер, который у меня есть, обратите внимание, что индекс - моя начальная функция для отображения списка клиентов по умолчанию. Это не имеет проблем с страницей. < /P>
public function index()
{

$query = Clients::where('client_id', Auth::id());
$schednow = Carbon::now('Asia/Manila');

$currentClients = (clone $query)
->where('schedule', '>=', $schednow)
->orderBy('schedule', 'asc')
->paginate(1, ['*'], 'currentPage');

$pastClients = (clone $query)
->where('schedule', '=', $now)
// ->paginate(1, ['*'], 'current_page'),
->get(),

'previous' => Clients::where('client_id', Auth::id())
->when($searchTerm, function ($query, $searchTerm) {
$query->where('name', 'like', '%' . $searchTerm . '%');
})
->where('schedule', '

Подробнее здесь: [url]https://stackoverflow.com/questions/79587692/laravel-search-pagination-displaying-raw-html[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»