[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Формирование данных через тег select
ivanweb
Здравствуйте. Подскажите, пожалуйста.

У меня есть таблица из которой беру данные

$query="select id, name from table;" после запроса получаю массив данных
т.е в select отображаются строки из таблицы

<?php
$i=0;
foreach ( $rows as $row ) {
?><option value="<?php echo $i; ?>"><?php
$var=$row->id;
echo $row->name;
?></option><?php $i++;
} ?>
</select>

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

эта переменная будет применина к последующему запросу, который будет выводит даннные



Спустя 2 часа, 2 минуты, 55 секунд (27.01.2009 - 11:51) twin написал(а):
Вообще в value лучше писать не порядковый номер опшена, а id строки из таблицы. Потом принять его и подставить в запрос. Примерно так:

PHP
<?php 

foreach ( $rows as $row ) { 
?><option value="<?php echo $row->id?>"><?php
echo $row->name;
?></option><?php $i++;
?>
</select>

Спустя 48 минут, 57 секунд (27.01.2009 - 12:39) ivanweb написал(а):
Если я выбираю любую строку из списка, то как мне занести в переменную id той строки???

Спустя 27 минут, 15 секунд (27.01.2009 - 13:07) twin написал(а):

PHP
<?php 
$id 
= isset($_POST['select_name'])?$_POST['select_name']:null;

?>
<select name='select_name'>
<?
foreach 
( $rows as $row ) { 
?>
<option value="<?php echo $row->id; ?>"><?php
echo $row
->name;
<?
php 

foreach 
( $rows as $row ) { 
?>
<option value="<?php echo $row->id; ?>">
<?php
echo $row
->name;
?>
</option>
<?
}<>

Спустя 6 минут, 7 секунд (27.01.2009 - 13:13) twin написал(а):
Определённо невозможно нормально код написать на форуме... sad.gif
Всё режется и плывёт.

Спустя 29 минут, 8 секунд (27.01.2009 - 13:42) ivanweb написал(а):
если такое возможно, помогите пожалуйста и скиньте на почту ivan.shumilov@gmail.com

Спустя 19 минут, 43 секунды (27.01.2009 - 14:02) twin написал(а):
Ну я же написал с горем пополам. Зачем на почту то ещё? Присваивайте селекту имя и ловите его из POST, это и будет нужный id, который в списке выбран.
Вот это в обработчик:

PHP
<?php 
$id 
= isset($_POST['select_name'])?$_POST['select_name']:null;

Спустя 2 часа, 16 минут, 19 секунд (27.01.2009 - 16:18) ivanweb написал(а):
огромное спасибо и "+" , twin'у!!!

Спустя 3 часа, 53 минуты, 56 секунд (27.01.2009 - 20:12) kyryll написал(а):
<?
$query=mysql_query("SELECT id, name FROM table");
print "<select size=\"1\" name=\"zn\">";
while($res=mysql_fetch_array($query))
{
print "<option value=\"".$res["id"]."\">".$res["name"]."</option>";
}
print "</select>";
if(isset($_POST["zn"]))
{
$id=$_POST["zn"];
}
?>

Вот и все. Легко, просто, наглядно и правильно. Ну, естественно, данные передаются методом POST (нужна форма) плюс установить кнопку, которую нужно отловить на нажатие.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.