Здесь показан пример, как получить VALUE выбранной позиции списка. Вопрос, - а как в зависимости от выбранной позиции, вызвать её переменную в echo, а не всего SELECT (попросту как формировать таблицы яблок и апельсинов, в зависимости от выбора в списке) <FORM ACTION="2.php" METHOD="POST"> <SELECT NAME="preference"> <OPTION value = "Яблоки">Яблоки <OPTION value = "Апельсины">Апельсины </SELECT> <P> <INPUT TYPE="submit" VALUE="Отправить запрос!"> </FORM> обработчик в файле 2.php <? echo '<br>'.$_POST['preference']; ?>
я понял. как с помощью выпадающего списка, динамически формировать ту или иную таблицу, в зависимости от выбраной позиции в списке?
Все гораздо проще HTML: <FORM ACTION="2.php" METHOD="POST"> <SELECT NAME="preference"> <OPTION value = "0">Фрукты</OPTION>> <OPTION value = "1">Апельсины</OPTION> <OPTION value = "2">Яблоки</OPTION> </SELECT> <P> <INPUT TYPE="submit" VALUE="Отправить запрос!"> </FORM> обработчик в файле 2.php PHP: <? echo '<br>'.$_POST['preference']; ?> Теперь Вы должны получить ИД Апельсин = 1 , Яблоки = 2. Создавайте запрос к БД PHP: <? $sql = ("SELECT * FROM table WHERE id='".$_POST['preference']."'"); ?>
Спасибо но, вверху это же самое. Нужно не обращение к базе, а просто в зависимости HTML: value = "1" или HTML: value = "2" выбрать или PHP: echo '<table><tr><td>Цитрусовые</td></tr></table>'; или PHP: echo '<table><tr><td>Многолетние</td></tr></table>';
Уважаемый Виталий сформулируйте свой вопрос должным уровнем, опишите конкретно что Вам нужно от скрипта!
чем проще вопрос, тем сложнее его сформулировать. Вот перебрав 500 вариантов, сумел, наконец: HTML: <FORM ACTION="select_value.php" METHOD="POST"> <SELECT NAME="preference"> <OPTION value = "1">Яблоки <OPTION value = "2">Апельсины <OPTION value = "3">Мандарины <OPTION value = "4">Орехи </SELECT> <P> <INPUT TYPE="submit" VALUE="Отправить запрос!"> </FORM> select_value.php PHP: <?php if($_POST[preference]==1) echo "<table><tr><td>Цитрусовые известны со времён...</td></tr></table>"; ?> <?php if($_POST[preference]==2) echo "<table><tr><td>Многолетние садовые культуры...</td></tr></table>"; ?> <?php if($_POST[preference]==3) echo "<table><tr><td>Мандарины символ княжества Монако...</td></tr></table>"; ?> <?php if($_POST[preference]==4) echo "<table><tr><td>Орехи самы полезный продукт из...</td></tr></table>"; ?> теперь нужно придумать цикл
так компактнее: PHP: <?php if($_POST[preference]==1) { echo '<table><tr><td>Цитрусовые известны со времён...</td></tr></table>';} elseif ($_POST[preference]==2) { echo '<table><tr><td>Многолетние садовые культуры...</td></tr></table>';} elseif ($_POST[preference]==3) { echo '<table><tr><td>Мандарины символ княжества Монако...</td></tr></table>';} elseif ($_POST[preference]==4) { echo '<table><tr><td>Орехи самы полезный продукт из...</td></tr></table>';} ?>
Тогда уж так HTML: <FORM ACTION="select_value.php" METHOD="POST"> <SELECT NAME="preference"> <OPTION value = "Яблоки">Яблоки <OPTION value = "Апельсины">Апельсины <OPTION value = "Мандарины">Мандарины <OPTION value = "Орехи">Орехи </SELECT> <P> <INPUT TYPE="submit" VALUE="Отправить запрос!"> </FORM> PHP: <? echo "<table><tr><td>".$_POST['preference']."</td></tr></table>"; ?> В твоем скрипте предусмотрена работа с БД или нет?
Обратите внимание на текст. В том-то и дело, что нужна замена. В общем без цикла уже работает. Может кто знает как циклом сделать это: PHP: <?php if($_POST[preference]==1) { echo '<table><tr><td>Цитрусовые известны со времён...</td></tr></table>';} elseif ($_POST[preference]==2) { echo '<table><tr><td>Многолетние садовые культуры...</td></tr></table>';} elseif ($_POST[preference]==3) { echo '<table><tr><td>Мандарины символ княжества Монако...</td></tr></table>';} elseif ($_POST[preference]==4) { echo '<table><tr><td>Орехи самы полезный продукт из...</td></tr></table>';} ?>
vitalill Объясните в чем динамизм вашего скрипта, что он Вам должен сделать в цикле? Если Вам нужно таблицу циклом нарисовать то используйте цикл FOR только Вам нужно узнать два параметра 1. Количество колонок 2. Количество строк PHP: <?php $rows = "3"; $cols = "5"; echo "<table border=1 width=50% align=center>"; for ($i = 0; $i < $rows; $i++) { echo "<tr>"; for ($j = 0; $j < $cols; $j++) { echo "<td>text</td>"; } echo "</tr>"; } echo "</table>"; ?>