2013-11-29 2 views
0

Мне нужна небольшая помощь> _ <. У меня есть две таблицы:Связывание двух списков раскрывающихся списков php

Первая таблица, которая заполняется с производителями автомобилей, называемых list_vehicle_marks с колоннами

ид | стоимость

Вторая таблица, заполненная автомобильными моделями, называемыми list_vehicle_models, и имеет следующие столбцы;

ID | стоимость | mark_id

Столбец mark_id имеет то же значение, что и id в первой таблице, другими словами, у Ford есть идентификатор нет. 37 и все модели Ford имеют mark_id как 37 тоже.

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

Это то, что я сделал до сих пор:

<?php 

connection to host, db, blah blah 

if ($db->connect_error) { 
echo "Failed to connect to MySQL: (" . $db->connect_error . ") " 
. $db->connect_error; 
} else { 
$sql = "SELECT value FROM list_vehicle_marks"; 
$result_db = $db->query($sql); 
if (!$result_db) { 
    echo $db->error . ' Error perform query!'; 
} else { 
    echo '<select name="value">'; 
    echo '<option value="">Select...</option>'; 
    while ($row = $result_db->fetch_object()) { 
     echo '<option value="' . $row->value . '">'; 
     echo $row->value; 
     echo '</option>'; 
    } 
    echo '</select>'; 
} 
} 
$db->close(); 
?> 

ответ

0

В коде вы в курсе, падение вниз, что вы создаете, это должно быть что-то вроде этого

echo '<option value="' . $row->id. '">'; 
echo $row->value; 
echo '</option>'; 

Обратите внимание на $ строк -> идентификатор вместо $ row-> значение

Для занесения соответствующего раскрывающегося списка у вас есть два варианта:

  1. После того, как пользователь выбирает значение из меток выпадающим вы вызываете функцию PHP, которая получает значения из соответствующих моделей транспортных средств и повторное отображение страницы (Вы захватить идентификатор, выбранный пользователем с помощью JavaScript)

  2. Вы получаете все модели автомобилей вместе с знаками транспортных средств (добавьте еще один запрос к вашему приведенному выше коду, который извлекает все модели), сохраните результат запроса модели в переменной JavaScript и сгенерируйте второй раскрывающийся список, используя javascript, как только пользователь сделает выбор. Здесь вы также фиксируете выбор пользователей и вызываете функцию javascript, которая выдает соответствующий идентификатор.

Второй метод не был бы хорошим вариантом, если в таблице моделей много данных.

+0

О, хорошо, спасибо за исправление и совет: D – user2954486

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