Выпадающий список и selected из MySQL

Статус
В этой теме нельзя размещать новые ответы.

parks

Постоялец
Регистрация
18 Сен 2008
Сообщения
439
Реакции
100
Здраствуйте. :) Нужно реализовать следующее....
Есть выпадающий список
PHP:
<select name="format" size="1">
<option value="CAMRip">CAMRip</option>
<option value="TSrip">TSrip</option>
<option value="DVDRip" >DVDRip</option>
<option value="HDRip">HDRip</option>
</select>

есть переменная
PHP:
$format = $myrow["format"];
//переменная имеет значение к примеру DVDRip
Как сделать что бы строчке <option value="DVDRip" >DVDRip</option> было присвоено selected. Или как это вообще делается :)
 
Делается очень просто.
Код:
<?
$format = $myrow["format"];
switch ($format)
   case "Camrip":
      $selected = 'selected';
      break;
   case "TSrip":
      $selected = 'selected';
      break;
//и т.д.
} 
$body = '
<select name="format" size="1">
<option value="CAMRip" '.$selected.'>CAMRip</option>
<option value="TSrip" '.$selected.'>TSrip</option>
</select>  
';
print $body;
?>
Вот и все. Думаю все тут понятно :)
А вобще нужно читать про switch. Удобная штука.
 
Делается очень просто.
Код:
<?
$format = $myrow["format"];
switch ($format)
   case "Camrip":
      $selected = 'selected';
      break;
   case "TSrip":
      $selected = 'selected';
      break;
//и т.д.
} 
$body = '
<select name="format" size="1">
<option value="CAMRip" '.$selected.'>CAMRip</option>
<option value="TSrip" '.$selected.'>TSrip</option>
</select>  
';
print $body;
?>
Вот и все. Думаю все тут понятно :)
А вобще нужно читать про switch. Удобная штука.
Там в начале { нехватает я так понял , но не в этом деле , чёто непашет.....:nezn:
Выводит
PHP:
<select name="format" size="1">
<option value="CAMRip" selected>CAMRip</option>
<option value="TSRip" selected>TSRip</option>
<option value="DVDRip" selected>DVDRip</option>
<option value="HDRip" selected>HDRip</option>
</select>
Тоесть получается selected ставит везде......
 
PHP:
<?php
function listbox($name, $listarray, $selected = "")
{
	$listbox = '<select name="' . $name . '">';
	while (list($key, $val) = each($listarray)) 
	{
		
		if ($val == $selected)
		{
			$listbox = $listbox . '<option value="' . $val . '"  selected="selected">' . $val . '</option>';
		}else{
			$listbox = $listbox .  '<option value="' . $val . '">' . $val . '</option>';
		}			
	}
	$listbox = $listbox .  '</select>';
	return $listbox;
}
$sel=$myrow["format"]; // Получаем с базы
$format= array (
		'1' => 'CAMRip',
		'2' => 'TSRip',
		'3' => 'DVDRip',
		'4' => 'HDRip'
		);
echo listbox ('format',$format,$sel)	; // вывод select
?>
 
Попробуй так...
PHP:
<?php $format = $myrow["format"];?>
<select name="format" size="1">
<option value="CAMRip" <?php if($format == 'CAMRip') echo 'selected'?>>CAMRip</option>
<option value="TSrip" <?php if($format == 'TSrip') echo 'selected'?>>TSrip</option>
<option value="DVDRip" <?php if($format == 'DVDRip') echo 'selected'?>>DVDRip</option>
<option value="HDRip" <?php if($format == 'HDRip') echo 'selected'?>>HDRip</option>
</select>
 
Да поспешил однако...
PHP:
<?
$format = $myrow["format"];
switch ($format)
{
   case "Camrip":
      $selected_cam = 'selected';
      break;
   case "TSrip":
      $selected_ts = 'selected';
      break;
//и т.д.
} 
$body = '
<select name="format" size="1">
<option value="CAMRip" '.$selected_cam.'>CAMRip</option>
<option value="TSrip" '.$selected_ts.'>TSrip</option>
</select>  
';
print $body;
?>
вот так нужно...
 
Вариант:
PHP:
<?php
$format = $myrow["format"];
$txt='<select name="format" size="1">';
$array=array('CAMRip','TSrip','DVDRip','HDRip');
while(list($key,)=each($array)) {
  if($key==$format) $txt.='<option selected>'.$key.'</option>';
  else $txt.='<option>'.$key.'</option>';
}
$txt.='</select>';
echo $txt;
?>
 
Немного подправленный код от Для просмотра ссылки Войди или Зарегистрируйся будет самым оптимальным
PHP:
<select name="format" size="1">
<?php
$array=array('CAMRip','TSrip','DVDRip','HDRip');
foreach($array as $key) 
echo '<option'. ($key==$myrow["format"] ? 'selected' : '' ).'>'.$key.'</option>';

?>    </select>
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху