如何合并多个if条件

china_cctv 2012-05-09 09:50:26
如题:代码效率不高,冗余太多,在线等。

if($start_id == $first_id && $arrive_id == '') {
echo "我是第一个城市城市";
//去查询第一个城市是否添加了交通工具
$start_id = '';
$arrive_id = $first_id;
$res = $this->model->get_traffic($tripid, $type, $start_id, $arrive_id);
if($res) {
$affected_rows = $this->model->update_traffic($traffic, $tripid, $type, $start_id, $arrive_id);
if($affected_rows > 0) {
echo "更新成功!";
}
}else{
$trafficid = $this->model->add_traffic($traffic, $tripid, $start_id, $arrive_id, $type, $dateline);
if($trafficid > 0) {
echo '添加成功';
}
}
exit;
}

if($start_id == $last_id && $arrive_id == '') {
echo "我是最后一个城市";
$start_id = $last_id;
$arrive_id = '';
$res = $this->model->get_traffic($tripid, $type, $start_id, $arrive_id);

if($res) {
$affected_rows = $this->model->update_traffic($traffic, $tripid, $type, $start_id, $arrive_id);
if($affected_rows > 0) {
echo "更新成功!";
}
}else{
$trafficid = $this->model->add_traffic($traffic, $tripid, $start_id, $arrive_id, $type, $dateline);
if($trafficid > 0) {
echo '添加成功';
}
}

exit;
}

if($start_id == '' && $arrive_id == '') {
echo "需选择2个城市才能添加交通工具";
}else{
echo "选择正确可以入库";
$res = $this->model->get_traffic($tripid, $type, $start_id, $arrive_id);

if($res) {
$affected_rows = $this->model->update_traffic($traffic, $tripid, $type, $start_id, $arrive_id);
if($affected_rows > 0) {
echo "更新成功!";
}
}else{
$trafficid = $this->model->add_traffic($traffic, $tripid, $start_id, $arrive_id, $type, $dateline);
if($trafficid > 0) {
echo '添加成功';
}
}
}
}
$this->display = true;
$this->view->assign('cities', $cities);
$this->view->assign('traffic', $_config['traffic']);

$this->view->assign('tripid', $tripid);
$this->view->assign('cityid', $cityid);
$this->view->assign('type', $type);
}else if($type == 2) {
echo "我是来添加景点美食绿色的";
}
...全文
435 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
蓝色的雨哎 2012-05-09
  • 打赏
  • 举报
回复
$res = $this->model->get_traffic($tripid, $type, $start_id, $arrive_id);
if($res) {
$affected_rows = $this->model->update_traffic($traffic, $tripid, $type, $start_id, $arrive_id);
if($affected_rows > 0) {
echo "更新成功!";
}
}else{
$trafficid = $this->model->add_traffic($traffic, $tripid, $start_id, $arrive_id, $type, $dateline);
if($trafficid > 0) {
echo '添加成功';
}
}
可以考虑共用。
libo_sina 2012-05-09
  • 打赏
  • 举报
回复
可以用switch 试试!
蓝色的雨哎 2012-05-09
  • 打赏
  • 举报
回复
你的if else {}括号匹配不?我怎么觉得不对啊。。。

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧