2015-08-24 5 views
-1

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

1.publicAdvart.php

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#select_marka').change(function() { 
      $.post(
       'modeli.php', 
       {id: $('#select_marka').val()}, 
       function (res) { 
        $('#model').html(res); 
       } 
      ); 
     }); 
    }); 
</script> 

<select class="form-control" name="marka" id="select_marka"> 
<option></option> 
<?php 
$sel = "SELECT * FROM marka"; 
$query = mysqli_query($conn, $sel); 
while ($row = mysqli_fetch_array($query)) { 
?> 
<option value="<?php echo $row['id']; ?>"><?php echo $row['marka']; ?></option> 
<?php 
} 
?> 
</select> 

2.modeli.php

<?php 
if (isset($_POST['id']) && $_POST['id'] != '') { 
    $marka_id = $_POST['id']; 
?> 
<select id="select_marka" class="form-control"> 
<?php 
    $selModel = "SELECT * FROM marka_model WHERE marka_id='$marka_id'"; 
    $queryModel = mysqli_query($conn, $selModel); 
    while ($rows = mysqli_fetch_array($queryModel)) { 
?> 

<option value="<?php echo $rows['model']; ?>"><?php echo $rows['model']; ?></option> 

<?php 
    } 
?> 
</select> 

<?php 
} 
?> 

Где проблема? Эти два сценария работают наполовину.

Это нормально, нажмите «Опель» -> «meriva». http://i.stack.imgur.com/ma5XZ.jpg

Следующий шаг 2 - проблема, мне нужна «имя» marka и «name».

Проблема это here.I не получают "Marka - идентификатор", я хочу "имя" http://i.stack.imgur.com/Nm1Yk.jpg

Update:

step2.php

<?php 

    if (isset($_POST['submit'])) { 
     $marka = $_POST['marka']; 
     $model = $_POST['model']; 

     $_SESSION['marka'] = $marka; 
     $_SESSION['model'] = $model; 
    } 

?> 

<div class="col-md-12 well advertTittle"> 
    <h4 class="well"> 
     <?php echo $_SESSION['marka'] . '&nbsp' . $_SESSION['model'] . '&nbsp' . stripslashes($_SESSION['modify']); ?> 
    </h4> 
    <span><?php echo $_SESSION['price'] . ' лв.'; ?></span> 
</div> 
+0

Вы должны опубликовать исходный код для '2' шага сценарий – ankhzet

+0

step2.php

******

Полужирный текст проблема изображения вверх (41 и Undefined индекс:. Модель) –

+0

Под твоего ответом есть ссылка (чуть ниже тегов ответить в), названном 'edit'. Вы можете использовать его для редактирования своих ответов (в будущем). – ankhzet

ответ

0

Вы забыли дать атрибут «имя» для вашего поля «marka»:

<?php 
    ... 
?> 
    <select id="select_marka" class="form-control"> // <- here 
<?php 
    $selModel = "SELECT * FROM marka_model WHERE marka_id='$marka_id'"; 
    .... 

Должна быть что-то вроде этого:

<?php 
    ... 
?> 
    <select id="select_model" class="form-control" name="model"> // <- here!!! 
                   // "id" attribute also should be changed 
<?php 
    $selModel = "SELECT * FROM marka_model WHERE marka_id='$marka_id'"; 
    .... 

Кроме того, ваш step2.php должна быть так:

<?php 
if (isset($_POST['submit'])) { 
    $_SESSION['marka'] = $_POST['marka']; 
    $_SESSION['model'] = $_POST['model']; 
} 

function validData($data) { 
    return 
      isset($data['marka']) 
    && isset($data['model']) 
    && isset($data['price']) 
    ; 
} 

if (validData($_SESSION)) { 
    $marka_id = intval($_SESSION['marka']); 
    $model_id = intval($_SESSION['model']); 

    $marka = mysqli_fetch_array(mysqli_query($conn, "SELECT name FROM marka where id = $marka_id")); 
    $model = mysqli_fetch_array(mysqli_query($conn, "SELECT name FROM marka_model WHERE id = $model_id")); 

?> 

<div class="col-md-12 well advertTittle"> 
    <h4 class="well"> 
     <?php echo $marka['name'] . '&nbsp' . $model['name'] . '&nbsp' . (isset($_SESSION['modify']) ? stripslashes($_SESSION['modify']) : ''); ?>*** 
    </h4> 
    <span>    
     <?php echo $_SESSION['price'] . ' лв.'; ?> 
    </span> 
</div> 

<?php } else { ?> 

Not all fields filled. 

<?php } ?> 
+0

Да, моя ошибка, эти «модели» в порядке, я получаю «модель», но «marka» см. «Id», мне нужно, чтобы Marka «name». Малый еще один скрипт для получения Marka «name»? –

+0

@ СтилиянГеоргиев, посмотрите обновленный ответ. SQL-запросы могут отличаться, так как я не знаю, что ваша структура таблиц данных – ankhzet

Смежные вопросы