こんにちは、MySQL データベースからデータを取得する関数に少し問題があり、結果を foreach ループで反復処理し、値が null かどうかを確認し、null の場合は別の値に置き換えます。
この関数の問題は、データを返した後、データベースから取得した 1 つのレコードしか表示できないことです。おそらく単純なことですが、それは私を超えています。
コントローラーまたはビューに渡す前にこれを行いたいと思います。たぶん、これは foreach ループでは不可能ですか? 私は何が欠けていますか?
これが私のコードの例です。
public function get_basic_user_data(){
$sql = 'SELECT Account.First_Name, Account.Last_Name, Account.User_Name, Profile_Photos.Thumb_Url
FROM Account
LEFT JOIN Profile_Photos ON Account.idAccount = Profile_Photos.Account_Id
AND Profile_Photos.Active = 1
WHERE Account.idAccount != ?';
$account_id = $this->get_account_id();
$data = $this->db->query($sql, $account_id);
foreach($data->result() as $row){
if($row->Thumb_Url == NULL){
$image = base_url().'assets/images/no_photo_thumb.png';
}else{
$image = $row->Thumb_Url;
}
$new_data = new stdClass;
$new_data->First_Name = $row->First_Name;
$new_data->Last_Name = $row->Last_Name;
$new_data->User_Name = $row->User_Name;
$new_data->Thumb_Url = $image;
}
return $new_data;
}
うまくいけば、誰かがこれで私を助けてくれますか? ありがとう!