2013-12-04 4 views
1

Чтобы сделать простую иллюстрацию, предположим, что у меня есть таблица в базе данных, которая называется как категория, и она состоит всего из двух столбцов, которые являются cat_id и cat_description. Теперь вопрос заключается в том, как создать раскрывающийся список, который показывает cat_id, а затем второй раскрывающийся список покажет cat_description, который будет соответствовать выбранному cat_id. Я сослался на ответ как в Populate another select dropdown from database based on dropdown selectionКак сделать выбор из раскрывающегося списка на основе предыдущего выбора?

Однако это не выручает или, возможно, это слишком усложняя для меня т = понять кодирование, как я совершенно новое в веб-языков и следующее кодирование мой

<html> 
<body> 
    <?php 

// attempt a connection 
$dbh = pg_connect("host=localhost dbname=name user=user"); 
     if (!$dbh) { 
    die("Error in connection: " . pg_last_error()); 
} 

// execute query 
$sql = "SELECT cat_id FROM category"; 
$result = pg_query($dbh, $sql); 
if (!$result) { 
    die("Error in SQL query: " . pg_last_error()); 
} 

echo "<select cat_id='category'>"; 
while ($select_query_array = pg_fetch_array($result)) 
{ 
    echo "<option value='' >".htmlspecialchars($select_query_array["cat_id"])."</option>"; 
} 
echo "</select>"; 


$sql2 = "SELECT cat_description FROM category WHERE category.cat_id = cat_id previously selected"; 
$result2 = pg_query($dbh, $sql2); 
echo "<select cat_description='category'>"; 
while ($select_query_array = pg_fetch_array($result2)) 
{ 
    echo "<option value='' >".htmlspecialchars($select_query_array["cat_description"])."</option>"; 
} 
echo "</select>"; 

// free memory 
pg_free_result($result); 

// close connection 
pg_close($dbh); 
?> 
</body> 
</html> 

Из многих примеров, которые я пытался изучить в большинстве из них, связаны с ajax или java, которые я действительно ничего не знаю о них. Поэтому, если возможно, я хотел бы сделать это в простейшей форме, например, используя вторую php-страницу, но я не знаю, как использовать выбранное значение первой страницы на второй странице. Ajax/Java приемлема, поскольку я знаю, что это облегчит жизнь, возможно, вы, ребята, можете дать очень простое, но полное кодирование, чтобы я мог понять, что на самом деле работает. Спасибо заранее за все помощь!

+0

Это не код Java. В Java, однако, вы должны зарегистрировать ItemListener для отслеживания изменений в первом, а затем вызвать метод для повторного заполнения второго. Надеюсь, поможет. – Ron

ответ

0

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

http://localhost/test/cat_id.php?cat_id=5 

Получить идентификатор из URL
$ cat_id = $ _ GET [ 'cat_id'];
Затем написать запрос как

select * from category where cat_id=".$cat_id." 

Вы получите описание с этим запросом. Покажите, что данные во втором раскрывающемся списке

1

Лучше Populate как комбинированное окно, если не слишком большой ...

Cat ID Combo Box

<option 'cat_id'>cat_id</option> 

Cat Описание Combo Box

<option 'cat_id'>cat_Desc</option> 

И Установите значение по умолчанию на «»,

Добавить Javascript на Изменить() на «Cat ID Combo Box», чтобы получить значение и установить его в значение «Cat Description Combo Box».

И если вы хотите заполнить второй блок Combo из базы данных, вам необходимо использовать AJAX для заполнения без обновления страницы.

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