我在 3 种不同的视图中有 3 种形式
<form method="post" action="display/getrow">
<input type="text" name="status">
<input type="submit">
</form>
<form method="post" action="display/getrow">
<input type="text" name="id">
<input type="submit">
</form>
<form method="post" action="display/getrow">
<input type="text" name="name">
<input type="submit">
</form>
和我的数据库表为 3 列(ID/名称/状态)
我需要一个逻辑来设计模型中的 getrow 方法,该方法可以接受任何一个值(ID 或名称或状态),并且它必须显示包含该值的行。
试试这个:
public function getrow() {
if (isset($_POST['id'])) {
// run the query for id
}
if (isset($_POST['status'])) {
// run the query for status
}
if (isset($_POST['name']) {
// run the query for name
}
}
这样,您就不必更新视图。
根据您的描述, display
是您的控制器, getrow
是方法。只需添加另一个参数即可决定要获取哪个字段:以下是更正后的代码:
<form method="post" action="display/getrow/status">
<input type="text" name="status">
<input type="submit">
</form>
<form method="post" action="display/getrow/id">
<input type="text" name="id">
<input type="submit">
</form>
<form method="post" action="display/getrow/name">
<input type="text" name="name">
<input type="submit">
</form>
在您的方法中:
public function getrow($fieldName = '') {
// In $fieldName you will get either id, status or name.
if ($fieldName == 'id') {
// return id
}
if ($fieldName == 'status') {
// return status
}
if ($fieldName == 'name') {
// return name
}
}