我有一个正常的选择框,如下所示,在一个单独的类中我有许多php函数。我希望能够根据选择框执行功能。
<form action="functions.php" method"post">
<select name="sales">
<option value="week">Last 7 days</option>
<option value="month">Last 30 Days</option>
<option value="year">Last 365 Days</option>
<option value="all">Complete report</option>
</select>
<input type="submit" value="Submit" />
</form>
然后例如在我的函数类中,我有函数function week(), function month(), function year()
。我希望当例如选择周并且单击提交时将执行周函数时,是否有一种简单的方法可以执行此操作?最好是在同一页面上,但在另一页上也没问题。
答案 0 :(得分:2)
简单的if / else语句有什么问题?
if ( $_POST['select'] == 'year' ){ year(); }
else if ( $_POST['select'] == 'month' ){ month(); }
...
答案 1 :(得分:1)
为您的选择<select name="myvariable" method="POST">
然后您可以使用该名称来调用函数,如:
echo $_POST['myvariable']();
或使用call_user_func()函数:
echo call_user_func($_POST['myvariable']);
(在此处详细了解call_user_func - http://lt.php.net/manual/en/function.call-user-func.php)
答案 2 :(得分:1)
最简单的形式:
$function = $_POST['select_name'];
$function();
或(更好),
call_user_func($_POST['select_name']);