Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Передача значений <OPTION>

Сообщения:  [1-10]   [11-20] 

 
 автор: Paradox   (27.02.2017 в 12:04)
 
   для: Yuriev   (13.08.2008 в 12:16)
 

Спасибо!

  Ответить  
 
 автор: GaMBiT   (13.08.2008 в 12:24)   письмо автору
 
   для: paulluk   (12.08.2008 в 16:58)
 

Если Вам поможет, мой вариант:

<?
$result 
mysql_query("SELECT name, ID FROM table");
while (
$row mysql_fetch_array ($result))
{
       echo 
"<option value='".$row["ID"]."'>".$row["name"]."</option>";
}
echo 
"</select>";
?>

В таком виде, данные берутся из базы и сопоставляются с id. Когда пользователь выбирает какой-нибудь пункт, возвращается не его имя, а его ID.

  Ответить  
 
 автор: Yuriev   (13.08.2008 в 12:16)   письмо автору
 
   для: paulluk   (12.08.2008 в 16:58)
 

<select name="test"> 
  <option value="1---Canada" selected="selected">Canada</option> 
  <option value="2---USA">USA</option> 
  <option value="3---USA">USA</option> 
</select>

... а в обработчике формы из $_POST['test'] (или $_GET['test']) преобразовать в пару id-value, например так:

$prom = explode('---', $_POST['test']);
echo $prom[0]; // будет 1
echo $prom[1]; // будет Canada

  Ответить  
 
 автор: paulluk   (13.08.2008 в 12:05)   письмо автору
 
   для: BinLaden   (13.08.2008 в 11:56)
 

Постараюсь до этого не доводить, спасибо:))

  Ответить  
 
 автор: paulluk   (13.08.2008 в 12:05)   письмо автору
 
   для: sim5   (13.08.2008 в 11:42)
 

Большое спасибо за объяснение!!!

  Ответить  
 
 автор: BinLaden   (13.08.2008 в 11:56)   письмо автору
 
   для: paulluk   (13.08.2008 в 11:10)
 

> Не ругайтесь пожалуйста

Вы еще не знаете как sim5 ругается. Матом и на весь форум :))

  Ответить  
 
 автор: sim5   (13.08.2008 в 11:42)   письмо автору
 
   для: paulluk   (13.08.2008 в 11:10)
 

Да я разве ругаюсь :) Я как раз все допытывался от вас - зачем вам нужен текст опшена, если вы его всегда можете узнать на стороне сервера по значению выбранного опшена. Я не буду приводить тут запросы к базе, коли вы формируете список посредством значений полученных из базы, значит у вас есть уникальные записи в ней (это для атрибута value), и описание этих записей (это текст опшенов). Следовательно, получив значение списка (это как раз номер уникальной записи в базе), вы всегда можете получить и текстовое содержание этого опшена. Будем для примера имитировать запрос к базе, проверкой в массиве, который у нас служит как бы записями в базе (предполагается, что форма передается методом POST):

<?
$m 
= array(1=>'USA','Canada');
//для простоты, узнаем, что форма пришла
//непосредственно по имени списка
if (isset($_POST['test'])) echo "Вы выбрали " $m[$_POST['test']];   

Соответственно, вы можете обратиться к базе к уникальной записи: intval($_POST['test']), и также получите то, что некогда прописали опшену. Если ваши id записи в базе, которые вы передаете в значения спика, это поле с автоинкрементом, то они всегда будут у вас уникальными.

  Ответить  
 
 автор: paulluk   (13.08.2008 в 11:10)   письмо автору
 
   для: sim5   (12.08.2008 в 17:54)
 

Не ругайтесь пожалуйста... мож просто пример со странами неудачный.... Допустим у меня select наполняется значениями из БД таким образом:


<select name="test" id="test">
  <option value="1" selected="selected">Значение1</option>
  <option value="2">Значение2</option>
</select> 


Т.е. значения в option, могут повторяться, уникальность их можно определить только с помощью id в БД, это id я как раз и хотел присваивать значению value. Мне бы хотелось что-бы после того как пользователь выбрал значения в select, и нажал кнопку submit, в сценарий передавалось и значение value и значение option, сценарий формировал некую страницу, на которой пользователь видел что он выбрал и после определенных действий производились манипуляции с выбранным значением в БД, естественно раз значения могут повторяться, необходим этот id....

  Ответить  
 
 автор: sim5   (12.08.2008 в 17:54)   письмо автору
 
   для: paulluk   (12.08.2008 в 17:44)
 

Я сейчас как заматерюсь, больно станет! Списки формируете вы, а не ваш дядя, так ведь? Значит вы должны знать, что значению 1 соответсвует USA, а значению 2, что-то еще. Зачем вам брать текст опшена в этом случае (хотя это можно и передать)? Если вы формируете его не используя данные из базы или иного списка и не можете запомнить эти значения, то пишите тогда в значениях опшенов непосредственно USA, Canada... и т.д., а не числовые значения.

  Ответить  
 
 автор: paulluk   (12.08.2008 в 17:44)   письмо автору
 
   для: sim5   (12.08.2008 в 17:41)
 

В приведенном Вами коде, если пользователь выбрал USA, возможно ли в сценарии получить и USA и 1???

  Ответить  

Сообщения:  [1-10]   [11-20] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования