У меня есть список, сгенерированный MySQL. Когда я нажимаю один элемент списка, он показывает новый список, относящийся к элементу на той же странице.
Edit:
Вот код, как я получаю список.
<?php
include("./conn/connect.php");
$query = "SELECT * FROM entreprise ORDER BY id";
$result = mysql_query($query) or die("result failed: ".mysql_error());
while($row = mysql_fetch_assoc($result) ){
echo $row['name'].'<br>';
}
?>
Я не могу закончить последнюю часть.
Как я могу это достичь?
Вы пытаетесь запустить запрос в PHP и заполнить списки в раскрывающихся списках на странице HTML? Если это так, вы должны использовать JavaScript, чтобы показывать и скрывать их в зависимости от того, что нажал предыдущий список. вы можете использовать события, чтобы узнать, что было нажато, отправить форму или что-то еще и получить соответствующий список, который будет показан ниже.
Я правильно понял вашу проблему? или я в отъезде?
Edit:
OK. Использование JavaScript для скрытия элементов отображения не нуждается в учебнике.
Имейте список в форме. Событие onchange сообщит вам, когда выбранный элемент изменился. когда это произойдет, отправьте форму на ту же страницу. В PHP вы можете получить выбранный элемент. Затем запустите свой запрос и получите второй список на основе этого ввода. используйте Echo или что-то, чтобы написать новый список в HTML.
<?php
// Here, $_POST['options'] will give you the selected item from first list.
// Run your query to get the next list and use echo() to write
// out the HTML or something
?>
<form name="myform" method="POST" action="test.php">
<select name="options" onchange="myform.submit();">
<option value="item1">item1</option>
<option value="item2">item2</option>
<option value="item3">item3</option>
</select>
</form>
<?php
// Use a 'for each' kind of loop here and run through the results
// of your second list. Construct the secondary select tag using
// the data here.
?>
Вы можете создать первый список, используя PHP после выполнения запроса. Я не делал этого, потому что код был бы длинным и сложным.
В основном вы запускаете первый запрос и создаете первый список и добавляете события, как показано.
Когда пользователь выбирает что-то в этом списке, вы отправляете его на ту же страницу и на основе этого значения запускаете второй запрос и создаете вторичный список.
Если вы создадите свой список с помощью семантического кода, вам будет проще стилизовать его с помощью CSS. (IE использует UL, LI и т.д.).
<?php
include("./conn/connect.php");
$query = "SELECT * FROM entreprise ORDER BY id";
$result = mysql_query($query) or die("result failed: ".mysql_error());
echo "<ul id=\"hideme\">";
while($row = mysql_fetch_assoc($result) ){
echo "<li>" . $row['name'] . "</li>";
}
echo "</ul>";
? >
И ваш JQuery:
$(document).ready(function() {
$('#toggle').click( function() {
$('#hideme').toggle();
});
});
Просто создайте ссылку, кнопку, что-нибудь вроде этого:
<input type="submit" name="toggle" value="Toggle list show" id="toggle" />
Вы можете использовать дерево javascript jQuery. Перейдите в здесь для демонстрации
Это то, что вам нужно?