动态创建php switch语句的案例

| 我正在用php写一个switch语句,它将根据发布的数据确定什么是mysql查询。发布的数据量根据创建表单的数据库而异。我有什么办法可以从数据库中提取可能的案例,因为对所有案例都执行了相同的代码,并进行了案例特定的修改。我之所以不使用一种可能性而不是使用开关,是因为还有其他与数据库无关的情况可以输入到开关中。 这可能会清除一切 我有2页people.php和edit.php。 people.php根据通过get发送的建筑物ID在建筑物中动态创建成员表。用户可以从该表中从下拉菜单中选择要更改的记录,然后脚本将所有内容发布到edit.php。如果用户希望更改某人的建筑物,则开关盒会抓住泰国人,并创建一个表格以询问他们将被更改为哪座建筑物。然后将其发回到edit.php。我是否必须将每个建筑物都硬编码到交换机中,还是可以使其基于mysql的可用建筑物来动态创建案例?
echo\"<td><select name=\'action\'>
        <option value=\'save\' selected=\'yes\'>Save Changes</option>
        <option value=\'delete\'>Delete Record</option>
        <option value=\'more\'>Add Additional Phone Numbers and or Email Addresses</option>
        <option value=\'building\'>Change This person\'s Building</option>
        </select></td>\"
这是在人员表的每一行中创建的,它将确定表单将对edit.php中的数据进行处理
switch ($_POST[\'action\'])
{
        case \'save\':
                update($_POST);
                header(\"Location: people.php?bid=\".$_POST[\'bid\']);
                break;
        case \'delete\': //Havent written delete person code yet
                break;
        case \'more\': //havent written add more phone number or emails yet
                break;
        case \'building\': echo \"Move \".$_POST[\'fname\'].\" \".$_POST[\'mname\'].\" \".$_POST[\'lname\'].\" to which building?
                <br/><form action=\'edit.php\' method=\'POST\'><select name=\'action\'>\"
                compile_permissions($_SESSION[\'uid\']);
                foreach($_SESSION[\'buildings\'] as $value)
                {
                        $query=\"select name from schools where bid=\'$value\'\";
                        $result=mysql_query($query);
                        $row=mysql_fetch_array($result);
                        echo \"<option value=\'$value\'> Move to \".$row[\'name\'].\"</option>\";
                }
                echo \"</select><br/><input type=\'submit\' value=\'Go\'></form>\"
                break;
        default: header(\"Location:index.php\");
                break;
}
我需要通过此表单将pid和bid传递给edit.php,以便我可以使用查询来更新其建筑物,该如何进行呢?     
已邀请:
听起来确实需要将代码分成更多部分,但是如果您要构建动态代码,请查看eval()。您可以构建一个字符串,然后使用它来执行它。目前尚不确定这是否对您有帮助。     

要回复问题请先登录注册