使用PHP根据会话变量选择下拉选项

使用PHP根据会话变量选择下拉选项,php,select,drop-down-menu,Php,Select,Drop Down Menu,我正在使用PHP通过Javascript append在HTML中填充下拉菜单的选项。到目前为止,它是有效的,我使用一个条件语句仅在设置了会话变量时显示该团队ID的值。问题是,即使设置了会话变量,我也需要显示所有下拉选项(如PHP中的else/while语句),这样人们仍然可以使用该选项手动选择另一个ID,但如果设置了session,则自动选择会话变量设置为的值。。。。否则,只需显示选择默认选项(1)的选项,就像在我的else语句中一样。有没有关于我该怎么做的建议?谢谢 HTML PHP //抓

我正在使用PHP通过Javascript append在HTML中填充下拉菜单的选项。到目前为止,它是有效的,我使用一个条件语句仅在设置了会话变量时显示该团队ID的值。问题是,即使设置了会话变量,我也需要显示所有下拉选项(如PHP中的else/while语句),这样人们仍然可以使用该选项手动选择另一个ID,但如果设置了session,则自动选择会话变量设置为的值。。。。否则,只需显示选择默认选项(1)的选项,就像在我的else语句中一样。有没有关于我该怎么做的建议?谢谢

HTML

PHP

//抓取会话(如果已设置)
会话_start();
$_会议[“准备团队”];
$prep_team=$_POST['prepping_team'];
标头(“缓存控制:无缓存,必须重新验证”);
标题('Access-Control-Allow-Origin:');
标题(“内容类型:多部分/表单数据”);
$logAuditFile=“../log/prepform.log”;
$logModule=“getprepping\u team.php”;
包括“/mnt/library/auditlog.php”;
需要(“/mnt/library/configdb.php”);
包括“/mnt/library/accessdb.php”;
//解析并存储db ini文件,这将返回一个关联数组
db_配置_电缆_测试();
db_connect();
$sql=mysql\u query(“从preppingteam;中选择pt\u id”);
//如果设置了SESISON VARIALBE
如果(isset($_会话['prepping_team'])){
打印“$”会话[“准备工作组]”;
//打印“$”会话[“准备工作组]”;
//否则,请加载团队ID
}否则{
而($data=mysql\u fetch\u assoc($sql)){
打印“$data['pt_id']”;
}
}

代码的最后一部分不是您想要的。所以像这样纠正它

更新:

while ($data = mysql_fetch_assoc($sql)) {
   if(isset($_SESSION['prepping_team']) && $_SESSION['prepping_team'] == $data['pt_id'])
    {
    print "<option selected = 'selected'  value=\"".$_SESSION['prepping_team']."\">".$_SESSION['prepping_team']."</option>";    
    }
   else
    print "<option value=\"".$data['pt_id']."\">".$data['pt_id']."</option>";
}
while($data=mysql\u fetch\u assoc($sql)){
如果(isset($\u会话['prepping\u team'])和&$\u会话['prepping\u team']==$data['pt\u id'])
{
打印“$”会话[“准备工作组]”;
}
其他的
打印“$data['pt_id']”;
}

尝试清理此问题。你到底在问什么/需要什么还不是很清楚。有趣的是,你的其他东西不在括号内,是不是有些新的php速记工具?但遗憾的是,这不起作用,我可以让它这样做,但ID只有6个选项,全部为“3”。ID分别为1、2、3、4、5和6,如果会话变量be设置为3或其他值,则需要显示1-6并选择3。代码所做的就是在下拉列表中显示3,3,3,3,3,3:(有什么方法可以在我的PHP中应用吗?我知道这是在HTML中使用的,我在另一篇stackoverflow文章中找到了它并尝试修改它,但我只需要在我的PHP打印语句中使用它:是的,你可以这样做..但在($data=mysql\u fetch\u assoc($sql)){print“这不起作用……变量的颜色都不同,在该php的第二段代码中看起来很奇怪,并导致了错误:while($data=mysql\u fetch\u assoc($sql)){if(isset($\u SESSION['prepping\u team']){print“在($data=mysql\u fetch assoc($sql)){echo.$data['pt\u id'].""; }
//Populate Team IDs
function get_prepping_team() {
$.ajax({
    url: './php/getprepping_team.php',
    success: function(data) {
        $('#prepping_team').append(data);
    }
});
};
//Grab Session (if set)
session_start();
$_SESSION['prepping_team'];

$prep_team = $_POST['prepping_team'];

header("Cache-Control: no-cache, must-revalidate");
header('Access-Control-Allow-Origin: *');
header('Content-type: multipart/form-data');

$logAuditFile = "../log/prepform.log";
$logModule = "getprepping_team.php";
include '/mnt/library/auditlog.php';

require("/mnt/library/configdb.php");        
include '/mnt/library/accessdb.php';

//Parse and store the db ini file, this will return an associative array
db_config_cables_test();
db_connect();

$sql = mysql_query("SELECT pt_id FROM preppingteam;");
//IF SESISON VARIALBE IS SET
if(isset($_SESSION['prepping_team'])) {
    print "<option value=\"".$_SESSION['prepping_team']."\">".$_SESSION['prepping_team']."</option>";
    //print "<option value=\"".$_SESSION['prepping_team']."\">".$_SESSION['prepping_team']."</option>";
//OTHERWISE LOAD TEAM IDs
} else {
    while ($data = mysql_fetch_assoc($sql)) {
        print "<option value=\"".$data['pt_id']."\">".$data['pt_id']."</option>";
    }
}
while ($data = mysql_fetch_assoc($sql)) {
   if(isset($_SESSION['prepping_team']) && $_SESSION['prepping_team'] == $data['pt_id'])
    {
    print "<option selected = 'selected'  value=\"".$_SESSION['prepping_team']."\">".$_SESSION['prepping_team']."</option>";    
    }
   else
    print "<option value=\"".$data['pt_id']."\">".$data['pt_id']."</option>";
}