2014-06-03 4 views
0

사용자 (ID, 이름 등), 여행 (ID, 사용자 ID, 출발지, 목적지, 목적지), 행동 (ID, 사용자 ID, 출발지, 출발지, 목적지)이 있습니다. 내가 mysqli를 사용하고 난이 내가 가입 내가 왼쪽으로 해봤이두 열에서 데이터를 가져 오는 Mysqli

 
Array 
(
    [0] => Array 
     (
      [id] => 1 
      [current_status] => 0 
      [username] => user1 
      [fullname] => Eric Norman 
      [trips] = > Array 
      (
       [0] => Array 
       (
        [date_from] = 02/06/14 
        [date_to] = 05/06/14 
        [destination] = "Grece" 

      ) 
      [vacations] = > 
     ) 

    [1] => Array 
     (
      [id] => 2 
      [current_status] => 0 
      [username] => user2 
      [fullname] => Joe Grey 
      [trips] = > Array 
      (
       [0] => Array 
       (
        [date_from] = 02/06/14 
        [date_to] = 05/06/14 
        [destination] = "Grece" 

      ) 
      [vacations] = > 
     ) 

)

처럼이 표를 가져올 필요가 수행하는 방법을 알아낼 수 없습니다하지만 난 작동하지 않고 내 코드는 지금만을위한 것입니다 사용자 :

+0

사용자와 출장 간의 관계는 데이터베이스에 어떻게 저장됩니까? –

+0

user.id = trips.user_id – cNb

+1

왜 왼쪽 가입합니까? PHP에서 아직 아무 것도 시도하지 않았습니까? – kero

답변

2

가장 좋은 방법은 모든 사용자를 확보 한 다음 foreach를 사용하여 모든 여행과 휴가를 얻는 것입니다. 간단한 SQL 쿼리를 사용하여 이런 종류의 배열 결과를 얻을 수 있는지 확신 할 수 없기 때문에 ORM이 필요하다고 생각합니다.

$users = getAllUsers(); 
foreach($users as $user){ 
    $user['trips'] = getTripsByUserId($user['id']); 
    $user['vacations'] = getVacationsByUserId($user['id']); 
} 

물론 "getAllUsers"메소드를 코딩해야합니다. "getTripsByUserId"및 "getVacationsByUserId"는 where 절이있는 데이터베이스에 대한 단순 SELECT 쿼리입니다.

+0

Thnak, 좋은 해결책 인 것 같습니다. – cNb

+0

성공하면 알려주세요. –

+0

임무 완수, 지금은 조금 천천히 작동하지만, 작동합니다. 고맙습니다! – cNb

관련 문제