改变基于PHP变量的选择

时间:2017-07-19 14:05:55

标签: php html joomla3.1

我有一个html选择,它包含我们所有四个办公室的值,或文本All。如果用户选择全部,我想回显“所有办公室”,但如果用户选择特定办公室,我想回显该号码。我的问题是,当我运行下面的语法时,All仍然是All而不是All Offices。

我是否以不正确的方式设置了这个?

Display Data For Which Office:
<select name="office">
    <option value="All">All...</option>
    <option value="one">One Quarter</option>
    <option value="two">Two Quarter</option>
    <option value="three">Three Quarter</option>
    <option value="four">Four Quarter</option>
</select>


<?php
    if ($officename != 'All') {
        $officename = $_POST['officename'];
    } else {
        $officename = "All Offices";
    }

    echo $officename;
?>

2 个答案:

答案 0 :(得分:2)

您从未初始化$officename变量,因此它应为null。因此,$officename != 'All'总是不会成立,那么$officename = $_POST['officename'];将永远执行吗?

我认为你想要的是:

$officename = $_POST['officename'];

if ($officename == 'All') {
    $officename = "All Offices";
}

echo $officename;

答案 1 :(得分:0)

我认为你想要&#34;所有&#34;来自<select>的值,其名称为&#34; office&#34;。因此,您需要先将该值赋给变量,然后才能将其用于比较。请注意,选择名为&#34; office&#34;不是&#34; officename&#34;,所以它&#34;办公室&#34;你需要在$_POST中寻找。

$officeValue = $_POST['office'];

if ($officeValue == 'All') {
    $officename = "All Offices";
}
else {
  $officename = $_POST["officename"]; //I assume this is some other field in the form which you haven't shown, but which contains a human-readable office name.
}

echo $officename;