551

Re: Выпадающий список

Ну вот когда загрузить страницу обработчик она принимает переменную $brand в етой переменной передается например параметр ACHILLES.  И на етой же странице формируется блок с чекбоксами, нужно чтоб активным стал чекбокс имя которого соответствует переменной $brand. Етот код

 if (isset($_POST[$row['brand']]))
    
     {
        print"<p>" . $row["brand"] . " <input type='checkbox' checked='checked' name='".$row['brand']."' 
        value=''  onchange='this.form.submit();'  >";
        }
        else { print"<p>" . $row["brand"] . " <input type='checkbox'  name='".$row['brand']."' 
        value=''  onchange='this.form.submit();'  >";} }

не действует так как чекбокс имя которого соответствует переменной, не стает активным.

552

Re: Выпадающий список

и если нажать тот чекбокс имя которого соответствует принятой переменной то тогда активными стают все чекбоксы

553

Re: Выпадающий список

Смотрите есть ли такая переменная вообще.
print_r($_POST);

554

Re: Выпадающий список

$result = mysql_query("select DISTINCT brand from baza WHERE ostatok >0 ORDER BY brand",$db);


while ($row = mysql_fetch_array($result)) {
    if (isset($_POST[$row['brand']]))
    
     {print_r($_POST);
        } }
          ?>

нет ничего не вывело

555

Re: Выпадающий список

Не в цикле while.

556

Re: Выпадающий список

Вывело Array ( )

557

Re: Выпадающий список

Значит никакая форма ничего на эту страницу не передает.

558

Re: Выпадающий список

Передает  print_r($_GET);           Array ( [brand] => ACHILLES )  потому как страницы же формируются и все разные в зависимости от переданого параметра brand

559

Re: Выпадающий список

Как же его всетаки сравнить с принятой переменной?

560

Re: Выпадающий список

павелsimon сказал:

Как же его всетаки сравнить с принятой переменной?

Я уже ничего не понимаю. Каким образом получился $_GET['brand'] из этой строки?
print"<p>" . $row["brand"] . " <input type='checkbox' checked='checked' name='".$row['brand']."'
        value=''  onchange='this.form.submit();'  >";

561

Re: Выпадающий список

Блок который формирует ссылки на странице отправки

<?php 
$result = mysql_query("select DISTINCT brand from baza  ORDER BY brand",$db);


while ($row = mysql_fetch_array($result)) {
    
        
        print "<p><a href='view.php?brand=" . urlencode($row["brand"]) . "'>" . $row["brand"] . "</a>"; } 
          ?>

а вот часть кода на обработчике

if (isset($_GET['brand'])) {$brand = $_GET['brand'];}
 
$result55 = mysql_query("select DISTINCT brand from baza where brand='$brand'  ",$db);
if (!$result55)
{

echo"<p>Запрос в базыу не прошол код ошибки<br></p>";
exit (mysql_error());
}
if (mysql_num_rows($result55) > 0)
{
$row55 = mysql_fetch_array($result55);
}
else
{
echo "<p>Информация по запросу не прошла в таблице нет данных</p>";
exit();
}

Вот условие с запросом и выводом информации по бренду взятому из переданной переменной

else {$sql = 'SELECT  *  FROM (
  SELECT  *  FROM `baza`  WHERE `brand` = "' . mysql_real_escape_string($brand) . '"
  AND `ostatok` > 0
  ORDER BY `cena` DESC
) AS `t` GROUP BY `model` ORDER BY `cena` DESC';
}

Тоесть ссылки нормально передают названия брендов и каждый раз обработчик выводит страницу с нужным брендом, здесь все работает хорошо.

а вот здесь на странице обработчике формируюется список чекбоксов, и изначально они не нажаты

$result = mysql_query("select DISTINCT brand from baza WHERE ostatok >0 ORDER BY brand",$db);


while ($row = mysql_fetch_array($result)) {
    if (isset($_POST[$row['brand']]))
     {
        print"<p>" . $row["brand"] . " <input type='checkbox' checked='checked' name='".$row['brand']."' 
        value=''  onchange='this.form.submit();'  >";
        }
        else { print"<p>" . $row["brand"] . " <input type='checkbox'  name='".$row['brand']."' 
        value=''  onchange='this.form.submit();'  >";} }
          ?>

и так как на странице каждый раз присутствует уникальная переменная $brand, то хотелось бы ее прировнять какнибудь к чекбоксам чтоб нажатым стал тот чье имя соответствует переменной, но потом также нужно чтоб он и отжимался

562

Re: Выпадающий список

if (isset($_GET['brand']) && $_GET['brand'] == $row["brand"]) {
// Галочка нажата
} else {
// Галочка не нажата
}

563

Re: Выпадающий список

Теперь ее невозможно отжать или нажать другие галочки

564

Re: Выпадающий список

павелsimon сказал:

Теперь ее невозможно отжать или нажать другие галочки

В ссылке может быть только один параметр с именем brand, поэтому надо делать как-то иначе.

565

Re: Выпадающий список

а если передавать не только один параметр а например параметр и его id то тогда можно решить проблему?

566

Re: Выпадающий список

здравствуйте для чекбоксов у меня есть такая функция

function Checked( $checkbox )
  {
      if( isset( $_POST[$checkbox] ) )
      {
          return "checked";
      }
      else
      {
          return false;
      }
  }

сами чекбоксы

echo '<p>achiles<input type="checkbox" name="achiles" value="" '.Checked("achiles").'  >';
echo '<p>amtel<input type="checkbox" name="amtel" value="" '.Checked("amtel").'  >';

Вопрос тотже, с таким кодом можно както дописать чтоб чекбокс был нажат если переданна переменная соответствующяя его имени?

567

Re: Выпадающий список

Попробуйте использовать такой пример, в котором данные передаются в массиве.

<html>
<head>
  <title>Test</title>
</head>
<body>
<pre>
<?php
print_r($_GET);
?>
</pre>
<form action="" method="get">
  <div><input type="checkbox" name="chk[]" value="1" /></div>
  <div><input type="checkbox" name="chk[]" value="2" /></div>
  <div><input type="checkbox" name="chk[]" value="3" /></div>
  <div><input type="submit" /></div>
</form>
</body>
</html>

568

Re: Выпадающий список

Не совсем понял что должно получится?

569

Re: Выпадающий список

павелsimon сказал:

Не совсем понял что должно получится?

Должен получиться массив $_GET['chk'] значений выбранных галочек.

570

Re: Выпадающий список

Но смысл в том чтоб чекбоксы формировались динамически, если в базе нету каковото бренда значит и чекбокс не выведется. А тут так не получется.

571

Re: Выпадающий список

Получается.
<div><input type="checkbox" name="brand[]" value="Мишлен" /></div>
<div><input type="checkbox" name="brand[]" value="Пирелли" /></div>

572

Re: Выпадающий список

Здравствуйте. Вот мой блок с вашей поправкой, в котором я формирую чекбоксы

<?php 
$result = mysql_query("select DISTINCT brand from baza WHERE ostatok >0 ORDER BY brand",$db);
while ($row = mysql_fetch_array($result)) {
    
        print"<p>" . $row["brand"] . " <input type='checkbox'  name='".$row['brand']."' 
        value='".$row['brand']."'  onchange='this.form.submit();'  >";
         }
          ?>

но в таком виде при нажатии на чекбокс страница перезагружается и он не остается в активном состоянии

573

Re: Выпадающий список

павелsimon сказал:

но в таком виде при нажатии на чекбокс страница перезагружается и он не остается в активном состоянии

Мы же уже рассматривали код, который устанавливает помеченные галочки.

if (isset($_POST[$row['brand']])) {
// Галочка установлена
} else {
// Галочка не установлена
}

574

Re: Выпадающий список

Да етож я его переписал. Я просто не понял вы писали (Попробуйте использовать такой пример, в котором данные передаются в массиве.), а где попробывать?

575

Re: Выпадающий список

павелsimon сказал:

а где попробывать?

Там где у вас был Array ( [brand] => ACHILLES )