php函数没有循环遍历所有用户,只是第一个用户
下面的php函数只能用于一个用户记录,并不是所有的用户记录在weekly_email_f1列中的值为“1”,任何想法?php函数没有循环遍历所有用户,只是第一个用户
function getSummaryEmailInfo() {
$sql = "
SELECT u.id, u.master_id, u.email
FROM user AS u
WHERE u.weekly_email_fl = 1
";
$query = $this->db->query($sql);
$users = $query->result_array();
foreach ($users as &$user) {
$user_id = ($user['master_id'] == '0') ? $user['id'] : $user['master_id'];
$sql = "
SELECT ui.custom_name
FROM user_item AS ui
WHERE ui.user_id = '" . $user_id . "'
AND added_to_list_dt IS NOT NULL
ORDER BY added_to_list_dt DESC
;
";
$query = $this->db->query($sql);
$user['s_list'] = $query->result_array();
}
return $users;
}
有多个用户与weekly_email_f1 = 1,我觉得有什么不对与result_array()如何;被填充,但无法弄清楚,可是...
function getUserInfo($user_id) {
$query = $this->db->query("
SELECT name AS first_name, email, zip_code, weekly_email_fl
FROM user
WHERE id = '" . $user_id . "'
;");
if ($query->num_rows() > 0) {
$results = $query->result_array();
$results = $results[0];
} else {
$results = null;
}
return $results;
}
- 只有1 weekly_email_f1用户= 1
- $查询 - > result_array();仅返回第一/最后/一行。
谢谢,增加了一些更多的细节...多个用户有weekly_email_f1 = 1。感谢布拉克 – user1263003 2012-08-12 23:09:49
while($users = $query->result_array()) {
/* You can use $users['master_id'] here */
}
。那么,所有当前的“foreach”代码应该位于括号之间? {} – user1263003 2012-08-13 02:17:44
对不起,您必须删除foreach,而$ users ['master_id']将正常工作。 – 2012-08-13 10:03:11
有你测试的功能,无需在foreach循环来检查问题是否是内部或外部的循环? – 2012-08-12 17:53:14