Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.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 Select - Fatal编程技术网

php下拉列表项保持选中状态

php下拉列表项保持选中状态,php,html-select,Php,Html Select,我的php代码中有一个下拉列表。我试图在使用submit按钮提交页面后使值保持选中状态(表单操作调用另一个php脚本,但是下面的代码块与表单位于同一个php脚本中)。我试过了,但它不能满足我的需要。任何建议都会有帮助 //getting value from database $dropDownVal=$row['player']; //// echo "<td bgcolor=#7FFF00><select name='DropDown".$row['_id']."' >

我的php代码中有一个下拉列表。我试图在使用submit按钮提交页面后使值保持选中状态(表单操作调用另一个php脚本,但是下面的代码块与表单位于同一个php脚本中)。我试过了,但它不能满足我的需要。任何建议都会有帮助

//getting value from database
$dropDownVal=$row['player'];
////
echo "<td bgcolor=#7FFF00><select name='DropDown".$row['_id']."' >;
<option value=\"1\"  if ($dropDownVal==1) selected=\"selected\">Select </option>;
<option value=\"2\"  if ($dropDownVal==2) selected=\"selected\">Johnson</option>;
<option value=\"3\"if ($dropDownVal==3) selected=\"selected\">Reed</option>;
<option value=\"4\"if ($dropDownVal==4) selected=\"selected\">Suggs</option>;
<option value=\"5\"if ($dropDownVal==5) selected=\"selected\">Flacco</option>;
<option value=\"6\"if ($dropDownVal==6) selected=\"selected\">Rice</option>;
</select>";
//从数据库获取值
$dropDownVal=$row['player'];
////
回声”;
选择
约翰逊;
芦苇
苏格斯;
Flacco;
大米
";

这是一个自我提交脚本,即,相同的代码呈现表单以供填写并处理提交?在提交端,您必须读取适当的GET或POST参数,因为变量在提交之前并不仅仅保留其值。相反,提交端是从第一行重新执行的脚本,没有分配任何变量。

Chris基本上是正确的

如果您以使用
POST
变量的形式提交此文件

然后,如果您修改了将
$dropDownVal
设置为使用
$\u POST
变量的逻辑,您应该会得到您想要的:

如果您是通过
GET
提交表单,只需将
$\u POST
的所有引用更改为
$\u GET

以下是一页中的完整代码供参考:

<html>
<head></head>
<?php
if (!empty($_GET['Dropdown'])) {
    $dropDownVal = $_GET['Dropdown'];
} else {
    $dropDownVal = 1;
}
?>
<form method="get" action="testing.php">
    <select name="Dropdown" >;
        <option value="1" <?php if ($dropDownVal==1) echo 'selected="selected"'; ?>>Select </option>;
        <option value="2" <?php if ($dropDownVal==2) echo 'selected="selected"'; ?>>Johnson</option>;
        <option value="3" <?php if ($dropDownVal==3) echo 'selected="selected"'; ?>>Reed</option>;
        <option value="4" <?php if ($dropDownVal==4) echo 'selected="selected"'; ?>>Suggs</option>;
        <option value="5" <?php if ($dropDownVal==5) echo 'selected="selected"'; ?>>Flacco</option>;
        <option value="6" <?php if ($dropDownVal==6) echo 'selected="selected"'; ?>>Rice</option>;
    </select>
    <input type="submit" name="submit" value="Submit Form" />
</form>
</html>

;
>约翰逊;
>苏格斯;
>大米;

我编辑了页面..希望我回答了您的问题只有在您包含提交按钮代码的情况下,我的问题才会得到回答。如果它引用了self或php中的任何内容,那么它将是一个self-submit表单/脚本。这是一个非常好的想法,在这些类型的脚本中,所有的程序实际上,但更重要的是在自我提交脚本中,在使用之前初始化所有变量。如果您没有初始化为零或未定义,或者您希望从php获得的任何nul值,则某些Web服务器cgi设置可以从脚本的另一个运行副本中的变量中为您提供垃圾数据。好的,我明白您的意思……但有一个问题……我的脚本是php,所以我是否必须在if语句周围加上“”或者我可以保持原样吗?这里是完整的代码,您可以在单个页面中使用它。表单操作调用另一个处理某些任务的页面,并返回编辑Greg的hank!在这种情况下,在处理该处理的页面中,必须确保在重定向回第一个页面时返回下拉变量。如果正在执行重定向,则可以通过字符串连接到url来执行此操作。如: