繁体   English   中英

php函数不循环所有用户,仅第一个用户

[英]php function not cycling through all users, just first user

以下php函数仅适用于一个用户记录,而不适用于weekly_email_f1列中所有值为“ 1”的用户记录,有什么想法吗?

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;
  }
while($users = $query->result_array()) {
    /* You can use $users['master_id'] here */
}
  1. 只有1个用户的weekly_email_f1 = 1
  2. $ query-> result_array(); 仅返回第一/最后/一行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM