2015-03-22 5 views
0

Здравствуйте, у меня есть 2 стола с именем tbl_guard и tbl_records. tbl_guard имеет столбцы guard_id и fullname, а tbl_records также имеет guard_id. А вот мой код:Как эхо значения из другой таблицы?

$query = "SELECT * FROM tbl_records"; 
$stmt = $dbc->prepare($query); 
$stmt->execute(); 

while($row=$stmt->fetch(PDO::FETCH_ASSOC)) { 
    extract($row); 
    echo "<table>"; 
    echo "<tr>"; 
    echo "<td>Name</td>"; 
    echo "</tr>"; 
    echo "<tr>"; 
    echo "{$guard_id}"; 
    echo "</tr>"; 
} 
echo "</table>"; 

То, что я хочу сделать, это вместо guard_id быть эхом там в петле, я хочу fullname в tbl_guard таблице.

Ваша помощь будет очень признательна!

+0

использование '$ запрос = "SELECT * tbl_records, tbl_guard.fullname ИЗ tbl_records LEFT JOIN tbl_guard НА tbl_guard.guard_id = tbl_records.guard_id."; 'и' echo '{$ fullname} "' –

+0

Вы хотите начать чтение документации mysql. это поможет вам изучить и понять язык sql и то, что он предлагает. Он также предлагает хорошие примеры. – arkascha

+0

@TamilSelvan Я попробую это и расскажу вам, если это сработает. Спасибо – FewFlyBy

ответ

1

Использование РЕГИСТРИРУЙТЕСЬ

$query = "SELECT tbl_records.*, tbl_guard.fullname FROM tbl_records LEFT 
JOIN tbl_guard ON tbl_guard.guard_id = tbl_records.guard_id"; 

В PHP

while($row=$stmt->fetch(PDO::FETCH_ASSOC)) { 
. 
. 
. 
echo "{$fullname}"; 
} 
1

То, что вы хотите достичь, похоже, связано с внешним ключом - вы должны использовать JOINS. В вашем примере:

SELECT r.*, g.fullname FROM tbl_records r LEFT JOIN tbl_guard g ON r.`guard_id`=g.`guard_id` 

Прочитайте документацию по MySQL, вам понадобится это чаще всего!

+0

Спасибо за это! – FewFlyBy

0

Я получил это работает уже, вот мой SQL-запрос:

SELECT tbl_records.*, tbl_residents.fname, tbl_residents.lname FROM tbl_records LEFT JOIN tbl_residents ON tbl_residents.stud_id = tbl_records.stud_id 

Спасибо всем!

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