0

我正在使用 CodeIgniter 的表单验证类来验证表单。在这个表格中,我有大约 200 个国家/地区的复选框。我想验证这一系列国家/地区都是有效的。我通过检查数组值是否对应于我的数据库中的实际国家 ID 来做到这一点。我遇到的问题是codeIgniter 的表单验证验证数组中的200 个国家中的每一个,这导致对数据库的200 个查询需要大约10 秒才能完成。有没有办法让 CodeIgniter 验证整个数组一次?

4

1 回答 1

2

您可以绕过 CodeIgniter 的表单验证,将数据库中的所有国家/地区加载到一个数组中,并将表单值加载到另一个数组中。然后可以使用array_diff查看表单值中是否有没有出现在数据库中的值:

$should_be_empty = array_diff($form_array, $database_array);

$should_be_empty$form_array如果数据库数组中没有任何值,则将为空。

于 2012-08-14T15:04:48.573 回答