0

像这样:

if (post('tranfer') == 1 && $patient->exists)
    {
    sql::query("exec event.dbo.sp_tran " . $patient->hex);  
    }

当它未选中时,它应该运行反向存储过程。

因为它是表中的一个新复选框..所有成员都不会被自动检查,他们都将有 0.所以我担心我不能使用简单的 else 语句..

else (post('tranfer') == 0 && $patient->exists)
        {
        sql::query("exec event.dbo.sp_reverse " . $patient->hex);   
        }

那会起作用还是我错过了对这件作品有害的东西?

4

1 回答 1

1
if ($patient->exists) {
  if (post('tranfer') == 1) {
    sql::query("exec event.dbo.sp_tran " . $patient->hex);
  } else {
    sql::query("exec event.dbo.sp_reverse " . $patient->hex);
  }
}

更新:

要检测某人何时更改了复选框的值,请在包含该列旧值的表单中放置一个隐藏字段:

echo '<input name="old_tranfer" type="hidden" value="' . $patient->tranfer .'">';

然后在处理表单时,您可以执行以下操作:

if (post('transfer') != post('old_transfer') && $patient->hex) {
  if (post('tranfer') == 1) {
    sql::query("exec event.dbo.sp_tran " . $patient->hex);
  } else {
    sql::query("exec event.dbo.sp_reverse " . $patient->hex);
  }
}
于 2013-03-30T00:16:41.617 回答