Php “如何制作表单元素”;记住;选择?

Php “如何制作表单元素”;记住;选择?,php,javascript,mysql,html,database,Php,Javascript,Mysql,Html,Database,我现在正在使用php构建一个“更改分类广告”页面 我使用Mysql作为数据库 目前我使用PHP获取所有关于分类的mysql信息,然后输出如下: $table.=" <select name='year' id='year'> <option id='2000' value='2000'>2000</option> <option id='2001' value='2001'>2001</option>

我现在正在使用php构建一个“更改分类广告”页面

我使用Mysql作为数据库

目前我使用PHP获取所有关于分类的mysql信息,然后输出如下:

  $table.="
   <select name='year' id='year'>
     <option id='2000' value='2000'>2000</option>
     <option id='2001' value='2001'>2001</option>
     <option id='2002' value='2002'>2002</option>
   </select>";

   echo $table;
   <input type="text" name="text" value="<?php echo $_POST['text'];?>">
$table.=”
2000
2001
2002
";
echo$表;
我有一个图片上传工具,它将页面提交给自己,同时上传图片,并显示在页面底部。问题是,无论何时这样做,用户都必须再次填写所有信息,因为这些信息被“遗忘”

我知道在输入type=“text”中,您可以简单地执行以下操作:

  $table.="
   <select name='year' id='year'>
     <option id='2000' value='2000'>2000</option>
     <option id='2001' value='2001'>2001</option>
     <option id='2002' value='2002'>2002</option>
   </select>";

   echo $table;
   <input type="text" name="text" value="<?php echo $_POST['text'];?>">

根据要选择的值,您可以在PHP中有条件地回显
选定的

您可以将
选定的
属性设置为
“选定的”
,使其成为默认/当前选择:

<option id="2000" value="2000" selected="selected">2000</option>
2000
php示例:

$options = array( '2000' => '2000', '2001' => '2001', '2002' => '2002' );
$selected = '2001';
$select = '<select name="year" id="year">';

foreach ( $options as $key => $value )
{
    $select .= '  <option value="' . $key . ( $key == $selected ? '" selected="selected">' : '">' ) . $value . '</option>';
}

$select .= '</select>';
$options=array('2000'=>'2000','2001'=>'2001','2002'=>'2002');
$selected='2001';
$select='';
foreach($key=>$value的选项)
{
$select.='':“>”).$value';
}
$select.='';

对于单选按钮和复选框,只需将
selected=“selected”
替换为
checked=“checked”
对于selects,您需要在数据中循环并检查值是否等于所选值(至少这是最容易做到的).但您可以应用与复选框/收音机类似的技术

<input type="radio" name="radio1" value="1" <?php echo (!empty($_POST['radio1']))?'checked':''?>> 
<input type="checkbox" name="chkbox1" value="1" <?php echo (!empty($_POST['chkbox1']))?'checked':''?>>
>
由于您正在创建PHP端的表,下面是代码:

  $years = array('2000', '2001', '2002');

  $table .= "<select name='year' id='year'>";
  foreach ($years as $year) {
      $table .= "<option id='" . $year . "' value='" . $year . "' " . 
            (($_POST['year'] == $year)?'selected':'') . ">" . $year . "</option>\n";
  }

  $table.="</select>";
$years=数组('2000','2001','2002');
$table.=”;
foreach($年为$年){
$table.=''.$year.\n“;
}
$table.=”;
对于select语句,应该让您走上正确的轨道。and:组成三元运算符,它是一个缩短的if/else语句。


<?php

$selected[$_GET['year']] = "selected='selected'";

$table.="
 <select name='year' id='year'>
   <option id='2000' value='2000' " . $selected['2000'] . ">2000</option>
   <option id='2001' value='2001' " . $selected['2001'] . ">2001</option>
   <option id='2002' value='2002' " . $selected['2002'] . ">2002</option>
 </select>";

echo $table;
?>

我的脚本如何知道将哪个值设置为selected?这是一个问题…更新了我的答案以包含一些php代码..这也动态构造了select选项。别忘了回显
$select
。检查其他答案,它们比我的好;-)谢谢,我需要这样的答案。你知道是否有s客户端SELECT的imiliar代码?(如您放在那里的复选框和收音机上的示例)?php没有客户端。您只需要在正确的位置回显正确的代码。这也是您使用输入类型的内联样式所做的。要在客户端执行此操作,您需要使用Javascript并告诉Javascript应该选择什么,因此Javascript文件需要将变量植入一些方式或形式。如果
$year
是整数,则从条件中删除单引号:
If(isset($year)&&&$year==2000)