2015-12-13 8 views
1

У меня three tables в базе данных.Подключить базу данных внутри

1-цитаты

2-типа

3 авторы

В таблице котировок, я присвоила TYPE_ID, который является первичным ключом в таблице типов также AUTHOR_ID который является первичным ключом для таблицы авторов.

Теперь, когда я хочу повторить одну цитату за один раз в этом формате.

"When you get to my age life seems little more than one long march to 
and from the lavatory." 

By: A. C. Benson Category: age 

Итак, как подключить эту базу данных для получения этого типа вывода?

Я пробовал это, но он выводит только цитату.

$sql = "SELECT * FROM quotes LIMIT 1"; 
$result = $con->query($sql); 
if ($result->num_rows > 0) { 

    while($row = $result->fetch_assoc()) { 
    echo " \" " . $row["quote"]. "\"<br><br>"; 
} 
+1

относятся к категории и введите те же термины в коде/базе данных? А также, можете ли вы показать структуру таблицы котировок? –

+0

Да категория означает тип, и у меня было связанное изображение http://puu.sh/lTNGq/320fd6af2e.png –

ответ

1

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

Это может выглядеть так, если каждая цитата имеет поле type_id и author_id для ссылки на другие таблицы.

SELECT * FROM quotes JOIN types ON quotes.type_id = types.id JOIN authors ON quotes.author_id = author.id 

В PHP это может выглядеть следующим образом:

$sql = "SELECT * FROM quotes JOIN types ON quotes.type_id = types.id JOIN authors ON quotes.author_id = authors.id"; 
$result = $con->query($sql); 
if ($result->num_rows > 0) { 

    while($row = $result->fetch_assoc()) { 
    echo " \" " . $row["quote"]. "\"<br>".$row["author"]." ".$row["type"] ."<br>"; 
} 

, когда ваши таблицы выглядеть следующим образом:

quotes: 
id, quote, author_id, type_id 

types: 
id, type 

authors: 
id, author 
+0

Затем вы можете использовать все имена строк каждой из объединенных таблиц в вашей '$ row [" column_name "]'. Если они имеют одинаковые имена, например. у автора есть столбец «имя», а в цитате есть столбец «имя», в котором вы можете использовать ALIAS. – Randrian

+1

Вы также можете попытаться использовать псевдоним 'SELECT quotes.quote, authors.author AS author_name, types.type AS type_name FROM quotes JOIN types ON quotes.type_id = types.id JOIN authors ON quotes.author_id = authors.id' а затем попробуйте '$ row [" author_name "]' – Randrian

+0

Все отлично работает в SQL, когда я запускаю запрос в phpmy admin его совершенным. Но в моем файле php его выдача ошибки. :( http://puu.sh/lTQFe/246132deac.png http://puu.sh/lTQGg/44b66bad6d.png http://puu.sh/lTQIJ/d6b8cc5e19.png –

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