Я работаю над обработкой фильтра на основе флажка для сайта. У этого есть несколько флажков, которые фильтруют список записей по различным параметрам. Подобно тому, что сделано here. Теперь я справился для достижения определенного успеха, и я отфильтровал записи на основе первого набора флажков. Вот для него функция js.Управление строками с запросом ajax post и jquery
HTML:
<input type="checkbox" id="checkbox1" class="checkbox1" value="<?php echo $suburb['suburb_name']?>" name="Suburb_check[]" onClick="changeResults();" onChange="" >
Javascript:
function changeResults(){
var data = { 'venue[]' : []};
$("input[name=Suburb_check[]]:checked").each(function() { var chck1 = $(this).val();
data['venue[]'].push($(this).val());
dataString =data['venue[]'.toString()].toString();
});
$.ajax({
type : 'POST',
url : 'process.php',
data : "dataString="+dataString,
success : function(data){
$('#project_section').html(data);
}
});
}
Что это делает фильтрует записи + загружает второй набор флажков установить чек, 1st коробка) = >для Регионов и 2nd is =>для Местностей Я создал массив для передачи значений флажка, а затем преобразовал его в строку (.toString) и передал файл .php.
Аналогичным образом я создал функцию для 2-го набора флажков. HTML
<input type="checkbox" onClick="changeLocality();" id="localityCheck" value="<?php echo $locality['locality_name'];?>" name="Locality_check[]">
JS
function changeLocality(){
var dataLocality = {'locality[]' : []};
$("input[name=Locality_check[]]:checked").each(function() {
var chcklocal = $(this).val();
dataLocality['locality[]'].push($(this).val());
localityString =dataLocality['locality[]'.toString()].toString();
});
$.ajax({
type : 'POST',
url : 'processLocality.php',
data : "localityString="+localityString,
success : function(dataLocality){
$('#project_section').html(dataLocality); // replace the contents coming from php file
}
});
}
Передайте значения в файл PHP, но когда я пытаюсь получить их с помощью $ _POST, строки я перепутать друг с другом т.е. значения области переходят в строку локальности и наоборот (Пробовал это используя массив с таким же результатом, поэтому переключился на строки). Я не могу это исправить. Почему это происходит Это значения php-файлов, в которые я отправляю значения. processLocality.php
<?php session_start();
include_once("includes/classes/db_connect.php");
include_once("pagination/paginator.class.php");
$pages = new Paginator();
$regions = "'".$_POST['dataString']."'";
echo $regions;
$arr = explode(",",$regions);
$getFormatedSuburb = implode("','",$arr);
$locality = "'".$_POST['localityString']."'";
echo $locality;
$arrLocal = explode(",",$locality);
$getFormatedLocality = implode("','",$arrLocal);
//Here I get the strings mixed with each other!!
?>
Я добавил некоторое выражение в строку для передачи его в операторе SQL из запроса в нужном формате. Теперь строки я получаю содержит значения из обоих регионов и localities.I хотят как по отдельности, так как они являются два различных параметры для фильтрации записей
Pune East,
Pune West, //1 and 2 are regions
Aundh,
Kalyaninagar //3 and 4 are localities
Кроме того, я хотел бы знать, мой подход correct.Any лучше способ достижения этого? Любая помощь приветствуется.
Thanks
Вскипятите код и изолируйте проблему - никто не проделывает столько кода. – Repox
@Repox Спасибо за вход! Причиной для добавления деталей я хотел убедиться, что я делаю свою точку зрения очень ясной. Я обновил вопрос. Надеюсь, что downvote идет именно этим! – KillABug