Обработка массива. PHP. Json

212
04 ноября 2017, 15:45

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

<?php
require_once('car.php'); 
$action = isset($_REQUEST['action']) ? $_REQUEST['action'] : '';
if ($action == 'getcar')
{
    if (isset($car[$_GET['Marks']]))
    {
        echo json_encode($car[$_GET['Marks']]);
    }
    else
    {
        echo json_encode(array('Выберите марку'));
    }
    exit;
}
$action = isset($_REQUEST['action']) ? $_REQUEST['action'] : '';
if ($action == 'getservices')
{
    if (isset($Marks[$_GET['services']]))
    {
        echo json_encode($Marks[$_GET['services']]);
    }
    else
    {
        echo json_encode(array('Выберите услугу'));
    }
    exit;
}
// выводим пришедшие данные
if ($action == 'postResult')
{
    echo '<pre>' . htmlspecialchars(print_r($_POST, true)) . '</pre>';
    exit;
}
?>
<!DOCTYPE html>
<html>
<head>
    <title>Тест</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    <style>
        body {font-family:Verdana; font-size:12px;}
    </style>
    <script type="text/javascript">
    // <![CDATA[
        function loadcar(select)
        {
            var carSelect = $('select[name="car"]');
            carSelect.attr('disabled', 'disabled'); 

            $.getJSON('index.php', {action:'getcar', Marks:select.value}, function(carList){
                carSelect.html(''); 
                $.each(carList, function(i){
                    carSelect.append('<option value="' + i + '">' + this + '</option>');
                });
                carSelect.removeAttr('disabled'); 
            });
        }
        function loadservices(select)
        {
            var ServicesSelect = $('select[name="services"]');
            ServicesSelect.attr('disabled', 'disabled'); 

            $.getJSON('index.php', {action:'getservices', car:select.value}, function(ServicesList){
                ServicesSelect.html(''); 
                $.each(ServicesList, function(i){
                    ServicesSelect.append('<option value="' + i + '">' + this + '</option>');
                });
                ServicesSelect.removeAttr('disabled'); 
            });
        }
    // ]]>
    </script>
</head>
<body>
    <form action="index.php" method="post">
        <select name="Marks" onchange="loadcar(this)">
            <option></option>
            <?php
            foreach ($car as $Marks => $carList)
            {
                echo '<option value="' . $Marks . '">' . $Marks . '</option>' . "\n";
            }
            ?>
        </select>
        <select name="car" onchange="loadservices(this)">
            <option>Выберите модель </option>
        </select>
        <select name="services" disabled="disabled">
            <option>услугу</option>
        </select>
        <input type="hidden" name="action" value="postResult" />
        <input type="submit" value="отправить" />
    </form>
</body>
</html>

Массив выглядит вот так

<?php
$car = array (
  'Мерседес' => array (
    'Модель мерседеса 1' => array(
     'Услуга 1 для модели мерседеса 1', 
     'Услуга 2 для модели мерседеса 1' ,
     'Услуга 3 для модели мерседеса 1'),
    'Модель мерседеса ',
    'Модель мерседеса 2',
    'Модель мерседеса 3',
  ),
  'БМВ' => array (
    0 => 'Модель БМВ 1',
    1 => 'Модель БМВ 2',
    2 => 'Модель БМВ 3',
    3 => 'Модель БМВ 4',
     ),
  'Хонда' => array (
    0 => 'Модель хонда 1',
    1 => 'Модель хонда 2',
    2 => 'Модель хонда 3',
     ),
);
?>
READ ALSO
как убрать &ldquo;\/&rdquo; при отображении файлов с помощью функции ftp_nlist($connect, $dir) в php?

как убрать “\/” при отображении файлов с помощью функции ftp_nlist($connect, $dir) в php?

как убрать "/" при отображении файлов с помощью функции ftp_nlist($connect, $dir) в php?

207
Не могу передать значение в Volume в Soap Gis Gkh

Не могу передать значение в Volume в Soap Gis Gkh

как передать значение value в Volume в wsdl Гис Жкх? Кто делал модуль импорт платежных документов ?

288
Мультиязычность

Мультиязычность

Подскажите, пожалуйста, как правильно впилить мультиязычностьВ строке адреса \домен\lang\controller\action\id, если нет lang - редирект на "правильный"...

305