#php #jquery #sql #ajax
Вопрос:
ЦЕЛЬ: выберите опцию, возьмите ее значение с помощью ajax и вставьте в запрос. спасибо за помощь.
bugs_cards.php
<div class="filtros-categoria-sistema">
<select id="session" name="session" class="form-control">
<option value='' selected >Selecione o Sistema</option>
<option value='00000000001'>teste 1</option>
<option value='00000000002'>teste 2</option>
</select>
</div>
SQL
if (isset($_POST['workselected1'])) {
$workselected = $_POST['workselected1'];
}
$SyntaxTransactionRotas = "SELECT * FROM sup_cad_bugs_cards where painel_COD = $workselected AND card_status = 'EN' AND card_nome $nome AND card_tipo_COD $categoria ";
АЯКС
$('#session').on('change', function(e){
var workselected = $(this).val();
$.ajax({
method: "POST",
url: "bugs_cards.php",
data: {workselected1: workselected},
cache:false,
success: function(data){
console.log(data);
}
});
});
Комментарии:
1. В чем конкретно проблема? По предположению, вам нужны кавычки вокруг значений, которые вы включаете в инструкцию SQL, и
=
операторы перед значениями вwhere
предложении. Главное, что вы должны отметить, что ваш PHP широко открыт для атак с использованием SQL-инъекций. Вам следует изменить эту логику, чтобы вместо этого использовать подготовленные операторы.2. проблема и в том, что при выборе варианта 1 значение 00000000001 не отправляется через ajax в переменную PHP для вставки в SQL и выполнения запроса . в этом случае запрос предложения where должен быть «SELECT * FROM sup_cad_bugs_cards, ГДЕ painel_COD = 00000000001 ..
Ответ №1:
Попробуйте выполнить следующий sql-запрос:
$SyntaxTransactionRotas = "SELECT * FROM `sup_cad_bugs_cards` where `painel_COD` = '$workselected' AND `card_status` = 'EN' AND `card_nome` = '$nome' AND `card_tipo_COD` = '$categoria' ";
СОВЕТ: Попробуйте использовать подготовленные инструкции, так как этот sql-запрос подвержен sql-инъекциям.