Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2018, 19:03   #21
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Правильно соображаю)?
Код HTML:
<form>
  <input type="checkbox" name="a">
  <input type="checkbox" name="b">
  <input type="checkbox" name="c">
  <input type="checkbox" name="d">
  <input type="checkbox" name="e">
</form>
<div id="block-tovar-grid">
  <?php
	include 'tkani/role_tkani.php';
 ?>
</div>

$('input[type=checkbox]').click(function() {
  var str = $('form input:not([type="checkbox"])').serialize();
  var str1 = $("form input[type='checkbox']").map(function() {
    return this.name + "=" + this.checked;
  }).get().join("&");
  if (str1 != "" && str != "") str += "&" + str1;
  else str += str1;
  $.ajax({
    type: 'POST',
    url: 'index.php',
    data: {a: str},
    success: function(e) {
      $("#block-tovar-grid").html(e);
    }
  });
});
Пока без разбора в php.
Как протестировать ajax в jsfiddle?
Еду медленно, но верно!

Последний раз редактировалось spoon100500; 24.05.2018 в 19:06.
spoon100500 вне форума Ответить с цитированием
Старый 24.05.2018, 19:17   #22
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
да как угодно.
я бы использовал обычные if и логическое "И" ( && )
Согласен с Сергеем.

Есть еще такой вариант получаете строку гетом. делаете explode по символу & у вас получается массив. в цикле делаем case и формируем один sql запрос.
Код:

switch ($i) {
    case 0:
        sql_str.= " or (или and) field=1"
    case 1:
        sql_str.= " or (или and) field=2"
    case 2:
       sql_str.= " or (или and) field=3"
}

Далее приклеиваете к основному запросу пример
Код:
$sql_query ="SELECT * FROM TABLE1 WHERE 1=1 ".sql_str;
и выполняете его.

Цитата:
Пока без разбора в php.
Как протестировать ajax в jsfiddle?
Поставьте winginx и тестируйте локально
Я часть той силы, что вечно хочет зла, но вечно совершает благо..

Последний раз редактировалось Stanislav; 24.05.2018 в 19:20.
Stanislav вне форума Ответить с цитированием
Старый 24.05.2018, 19:54   #23
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Буду пробовать, спасибо огромное.
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Старый 26.05.2018, 06:33   #24
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

При использовании этого варианта
Код HTML:
$('input[type=checkbox]').click(function() {
  var str = $('form input:not([type="checkbox"])').serialize();
  var str1 = $("form input[type='checkbox']").map(function() {
    return this.name + "=" + this.checked;
  }).get().join("&");
  if (str1 != "" && str != "") str += "&" + str1;
  else str += str1;
  $.ajax({
    type: 'POST',
    url: 'a.php',
    data: {a: str},
    success: function(e) {
      $("#block-tovar-grid").html(e);
    }
  });
});
переменная str содержит строку a=false&b=true&c=false&d=false&e=fa lse
Как произвести сравнение a, b, c, d если это строка?
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Старый 26.05.2018, 16:16   #25
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Я же выше писал вы читали? Сделайте explode будет у вас массив по которому можно пробежаться и сравнить или через case
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Старый 26.05.2018, 16:51   #26
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Если через case то сравниваем строку на изменение?
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Старый 26.05.2018, 20:37   #27
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Я не понимаю чего вы хотите, как я понял выше, в зависимости от статуса true/false вы делаете выбору из базы 1 или 0 вот ваш код
Код:
$table_rol='tkani/role_tkani.php';
if (isset($_POST['svet_but']))
 {$vibor = 'WHERE svet = "1"';
  include $table_rol;}
if (isset($_POST['svet_bo']))
 {$vibor = 'WHERE svet = "0"';
  include $table_rol;}
if (isset($_POST['rol_but']))
 {include $table_rol;}
перечитайте мой пост номер 22, там уже практически сделано все.
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Старый 27.05.2018, 07:19   #28
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Разобрался)
Сделал так
это файл a.php
PHP код:
$sort $_POST['a'];
$pieces explode("&"$sort);
if (
$pieces[0] === 'a=false'){echo "Ok";}
else {echo 
"No";}
if (
$pieces[1] === 'b=false'){echo "Ok";}
else {echo 
"No";}
if (
$pieces[2] === 'c=false'){echo "Ok";}
else {echo 
"No";}
if (
$pieces[3] === 'd=false'){echo "Ok";}
else {echo 
"No";} 
это index.html
Код HTML:
$(document).ready(function() {
	$('input[type=checkbox]').click(function() {
  var str = $('form input:not([type="checkbox"])').serialize();
  var str1 = $("form input[type='checkbox']").map(function() {
    return this.name + "=" + this.checked;
  }).get().join("&");
  if (str1 != "" && str != "") str += "&" + str1;
  else str += str1;
  $.ajax({
    type: 'POST',
    url: 'a.php',
    data: {a: str},
    success: function(e) {
      $("#block-tovar-grid").html(e);
    }
  });
});
$('input[type=checkbox]').prop('checked', true).click();
	});
</script>
</head>	
<body>	
<form>
  <input type="checkbox" name="a">
  <input type="checkbox" name="b">
  <input type="checkbox" name="c">
  <input type="checkbox" name="d">
</form>
<div id='block-tovar-grid'>
<?php
	include 'a.php';
 ?>
</div>
</body>
Еду медленно, но верно!

Последний раз редактировалось spoon100500; 27.05.2018 в 12:36.
spoon100500 вне форума Ответить с цитированием
Старый 27.05.2018, 12:33   #29
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Окончательный php такой
PHP код:
$sort $_POST['a'];
$pieces explode("&"$sort);
if (
$pieces[0] == 'a=false' && $pieces[1] == 'b=true' ){$vibor 'WHERE svet = "0"';
  include 
$table_rol;}

if (
$pieces[0] == 'a=true' && $pieces[1] == 'b=false'){$vibor 'WHERE svet = "1"';
  include 
$table_rol;}
  
if (
$pieces[0] == 'a=true' && $pieces[1] == 'b=true'){include $table_rol;}
elseif (
$pieces[0] == 'a=false' && $pieces[1] == 'b=false'){include $table_rol;} 
Вроде работает) но всё же прошу посмотреть всё правильно?
Еду медленно, но верно!

Последний раз редактировалось spoon100500; 27.05.2018 в 13:05.
spoon100500 вне форума Ответить с цитированием
Старый 27.05.2018, 14:51   #30
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

В ходе понимания кода возник вопрос, что дает эта строка?
Код HTML:
if (str1 != "" && str != "") str += "&" + str1;
  else str += str1;
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Упоряддочить по колонкам чекбоксы ninja2 HTML и CSS 1 23.03.2016 12:40
Неактивные чекбоксы _dvr JavaScript, Ajax 12 17.09.2015 21:23
IE 8 чекбоксы tati89 HTML и CSS 4 13.08.2014 16:09
Столбцы и чекбоксы Lamo Microsoft Office Excel 2 27.07.2013 18:34
чекбоксы (делфи) NewLamer&Programer Помощь студентам 1 12.01.2013 13:48