Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 保持选项处于选中状态_Php_Html_Forms_Foreach - Fatal编程技术网

Php 保持选项处于选中状态

Php 保持选项处于选中状态,php,html,forms,foreach,Php,Html,Forms,Foreach,我有一个带有一些值的选择框,我将这些值插入数组中 现在我想选择一些特定的选项,并在页面重新加载时保持该选项处于选中状态 $logos =array('logo1', 'logo2', 'logo3'); echo ' <td class="jofftd"> <label>Platform</label> <select name="searchpt"> <option value="0">All</option>

我有一个带有一些值的选择框,我将这些值插入数组中

现在我想选择一些特定的选项,并在页面重新加载时保持该选项处于选中状态

$logos =array('logo1', 'logo2', 'logo3');
echo '
<td class="jofftd">
<label>Platform</label>
   <select name="searchpt">
   <option value="0">All</option>
      ';
      foreach ($logos as $value)
      {
      echo '
      <option value="'.$value.'">' .$value . '</option>
      ';
      }
      echo '
   </select>
</td>';
$logos=array('logo1','logo2','logo3');
回声'
站台
全部的
';
foreach($logos作为$value)
{
回声'
“.$value。”
';
}
回声'
';
我需要这样做:

foreach ($logos as $value)
      {
      echo '
      <option';

      if ($value == $value) echo 'selected="selected"'; 

      echo 'value="'.$value.'">' .$value . '</option>

      ';
      }
foreach($logo作为$value)
{
回声'
“.$value。”
';
}
但它不起作用


谢谢。

如果没有其他内容,则至少缺少一个空格字符:

 <option';
      if ($value == $value) echo 'selected="selected"'; 

假设您使用的是POST方法表单,那么代码看起来会像这样(注意:未测试)

foreach($logo作为$value)
{
$selected=($value=$\u POST['searchpt'])?“selected':”;
回显“.$value.”;
}

$value==$value将始终为true,并且它将始终添加selected=“selected”

使用字符串连接形成选择表单字段

    <?php 

$logos =array('logo1', 'logo2', 'logo3');

$value = 'logo1';

$str = '<select name="searchpt"><option value="0">All</option>';
foreach ($logos as $value)
      {
      $str.='<option ';

      if ($value == 'logo1') 
      $str.=' selected="selected "'; 

      $str.=' value="'.$value.' ">' .$value . ' </option> ';
      }
$str.='</select>';

echo $str;

?>


希望此代码片段能够解决您的问题

您希望默认选择哪个值?这是什么?
$value==$value
“All”已经是默认选择的否我想问的是下拉框中应该自动选择哪个值?下拉列表一次只能选择一个选项复制:我理解逻辑,但它给了我以下信息:解析错误:语法错误,意外的“选择了”(T_常量\u封装的\u字符串)
if ($value == $_POST['field_from_previous_form'}) { ... }
  foreach ($logos as $value)
    {
        $selected = ($value == $_POST['searchpt']) ? ' selected' : '';
        echo '<option'. $selected . ' value="'.$value.'">' .$value . '</option>';
    }
    <?php 

$logos =array('logo1', 'logo2', 'logo3');

$value = 'logo1';

$str = '<select name="searchpt"><option value="0">All</option>';
foreach ($logos as $value)
      {
      $str.='<option ';

      if ($value == 'logo1') 
      $str.=' selected="selected "'; 

      $str.=' value="'.$value.' ">' .$value . ' </option> ';
      }
$str.='</select>';

echo $str;

?>