2014-01-19 3 views
0

Изучение php, и я теряю рассудок, пытаясь решить это в течение нескольких дней. Пожалуйста помоги.PHP. Как взять данные из 2 таблиц mysql вместо 1

  1. Это код, который считается таблицей COUPON, принимает данные с условием, и затем загружает его. В этой таблице COUPON у меня есть USER_ID как номер, но я хочу также иметь имя пользователя, которое хранится в другой таблице USER.

Как я могу перейти к другой таблице (USER) и взять имена (REALNAME) этим USER_ID, который является одинаковым в обеих таблицах?

if ($_POST) { 
    $team_id = abs(intval($_POST['team_id'])); 
    $consume = $_POST['consume']; 
    if (!$team_id || !$consume) die('-ERR ERR_NO_DATA'); 

    $condition = array(
     'team_id' => $team_id, 
     'consume' => $consume, 
    ); 

    $coupons = DB::LimitQuery('coupon', array(
     'condition' => $condition, 
    )); 

    if (!$coupons) die('-ERR ERR_NO_DATA'); 
    $team = Table::Fetch('team', $team_id); 
    $name = 'coupon_'.date('Ymd'); 
    $kn = array(
     'id' => 'ID', 
     'secret' => 'Password', 
     'date' => 'Valid', 
     'consume' => 'Status', 
     ); 

    $consume = array(
     'Y' => 'Used', 
     'N' => 'Unused', 
    ); 
    $ecoupons = array(); 
    foreach($coupons AS $one) { 
     $one['id'] = "#{$one['id']}"; 
     $one['consume'] = $consume[$one['consume']]; 
     $one['date'] = date('Y-m-d', $one['expire_time']); 
     $ecoupons[] = $one; 
    } 
    down_xls($ecoupons, $kn, $name); 
  1. После этого, я хочу, чтобы попытаться сделать то же самое, только с помощью SQL-запросов.

ответ

0

Вы должны были бы JOIN таблицы в запросе SQL

SELECT something FROM coupons as coupons JOIN user as user ON coupons.id=user.id 
+0

Спасибо. И как упаковать это в PHP-код? – Peja

+0

Я не уверен, как реализовать его в вашем коде при использовании обертки для вашей базы данных, но, предполагая, что в вашей оболочке есть метод запроса, вы можете сделать '$ results = DB :: Query ('SELECT something from coupons как купоны ПРИСОЕДИНЯЙТЕ пользователя как пользователя ON coupons.id = user.id '); ' –

0

Вы должны использовать присоединиться, если вы хотите, чтобы получить подробную информацию из двух таблиц. Соедините таблицу COUPON и table USER на основе user_id. Это должно дать результаты, которые вы хотите.

Смежные вопросы