Пример результатов консоли
Привет, у меня проблема с моим jQuery У меня есть текстовое поле, в котором я хочу выполнить поиск в реальном времени из базы данных без кнопки отправки, активируется, когда Я запускаю функцию showcharges ($ _ GET ["id"], $ sort, $ search), в которой уже есть запрос select SQL. Проблема с ajax заключается в том, что я хочу, чтобы при поиске что-то передавало данные, которые я искал, в переменной php, например $ search as _POST ['search']; на той же странице ... передать эти данные в моем параметре $ search моей функции плюс все это без потери моей строки запроса с указанием c идентификатора клиента в случае фотографии с идентификатором = 63, которая является первым параметром моей function $ _GET ["id"], поэтому я хочу, чтобы ajax сохранил мой $ _get ["id"], а также экспортировал в переменную _post ['search'] слова, которые я искал.
Я не могу заставить его работать ... они не распознают _POST['search']
как POST, поэтому $search;
- это unedified
My PHP charge. php, который вызывает функцию Data :: showcharges ($ _ GET ["id"], $ sort, $ search);
$_GET["id"]
- это строка запроса с предыдущей страницы, которая показывает указанный c идентификатор клиента в моем запросе (работает ). - $ sort сортирует начисления (активируется, только если не равно нулю, внутри функции)
- $ search поисковый запрос для поиска сборов (включает только если не равен нулю, внутри функции)
<?php
if (isset($_POST['sort']))
{
$sort = $_POST['sort'];
}
$search = $_POST['search'];
echo $search;
?>
$showcharge = Data::showcharges($_GET["id"], $sort, $search);
<input type="text" name="search" class="txt" />
<span id="show" name="mytext"></span>
также, моя форма сортировки, которая сортирует расходы (вы можете увидеть запрос внутри функции, которая также хочу заменить на ajax сортировку жизни и избежать кнопки отправки, и я не хочу, как я могу сделать
<form action="" method="POST">
<tr>
<th> <select name="sort">
<option value="dateasc">Date Asc </option>
<option value="datedesc">Date Desc</option>
<option value="asc">Balance Asc </option>
<option value="desc">Balance Desc</option>
</select>
<button type="submit" name="submit" value="submit">Search</button>
</th>
</tr>
</form>
Мой сценарий, который хочет заменить традиционную кнопку отправки в поле поиска и сделать поиск жизни без кнопки
<script>
$(document).ready(function() {
$('input.txt').keyup(function() {
var search = $(this).val();
var val = "<?php echo $_GET['id']; ?>";
$.ajax({
url: "charge.php",
type: "POST",
dataType: 'text',
data: {
search: search,
val: val
},
success: function(response) {
$('#show').html(search);
console.log(search);
console.log(val);
}
});
});
});
</script>
Моя php функция, которая полностью работает. из процесса обработки данных. php
public static function showcharges($id = null, $sort = null, $search = null)
{
$sql = "SELECT id,contact_date,tasks,taskcharges,payment,balance,payment_date,admin,customers_id,comments,created_at";
$sql .= " ,(select (taskcharges-payment) from customers where charges.customers_id=customers.id) as balance";
$sql .= " FROM charges ";
if (!empty($id)) {
$sql .= " WHERE customers_id=" . $id;
}
if (!empty($search)) {
$sql .= " AND tasks LIKE '%" . $search . "%' OR comments LIKE '%" . $search . "%'";
}
if ($sort == "asc") {
$sql .= " ORDER BY balance ASC ";
} elseif ($sort == "desc") {
$sql .= " ORDER BY balance DESC ";
} elseif ($sort == "dateasc") {
$sql .= " ORDER BY created_at ASC ";
} elseif ($sort == "datedesc") {
$sql .= " ORDER BY created_at DESC ";
}
/*
echo $sql;
die(); */
$statement = conn()->prepare($sql);
$statement->execute();
$customers = $statement->fetchAll();
return $customers;
}