Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

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

Правильно соображаю)?
Код 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 в 20:06.
spoon100500 вне форума   Ответить с цитированием
Старый 24.05.2018, 20:17   #22
Stanislav
Квадрокоптерист
Профессионал
 
Регистрация: 29.09.2007
Сообщений: 1,804
Репутация: 532
По умолчанию

Цитата:
Сообщение от 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 в 20:20.
Stanislav вне форума   Ответить с цитированием
Старый 24.05.2018, 20:54   #23
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 352
Репутация: -23
По умолчанию

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

При использовании этого варианта
Код 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, 17:16   #25
Stanislav
Квадрокоптерист
Профессионал
 
Регистрация: 29.09.2007
Сообщений: 1,804
Репутация: 532
По умолчанию

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

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

Я не понимаю чего вы хотите, как я понял выше, в зависимости от статуса 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, 08:19   #28
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 352
Репутация: -23
По умолчанию

Разобрался)
Сделал так
это файл 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 в 13:36.
spoon100500 вне форума   Ответить с цитированием
Старый 27.05.2018, 13:33   #29
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 352
Репутация: -23
По умолчанию

Окончательный 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 в 14:05.
spoon100500 вне форума   Ответить с цитированием
Старый 27.05.2018, 15:51   #30
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 352
Репутация: -23
По умолчанию

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Упоряддочить по колонкам чекбоксы ninja2 HTML и CSS 1 23.03.2016 13:40
Неактивные чекбоксы _dvr JavaScript, Ajax 12 17.09.2015 22: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


21:37.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru