У меня есть две таблицы ...Регистрация ID & Имя из двух отдельных таблиц
Table 1 (keywordsTbl)
KeyID Key_Name
================================
1 Biology
2 Entertainment
Table 2 (profileTbl)
Keyword_ID Key_Name
================================
1(from keywordsTbl) Biology(from keywordsTbl)
2(from keywordsTbl) Entertainment(from keywordsTbl)
Мой запрос в profileTbl индексирует KeyId из keywordsTbl и его рабочей штрафа. Единственная проблема заключается в том, что мой вывод отображается так (без массива). :
Похоже, его индексацию только первый KeyId ... Результаты показывают только 1 одно ключевое слово, даже если есть более чем один KeyId помещаются в строке:
Мой запрос выглядит так:
include 'db.php';
$sql = mysqli_query($con,"SELECT * FROM profileTable, addKeywordTable ORDER BY LaName ASC");
while ($row = mysqli_fetch_array($sql))
{
$fname = $row['FirName'];
$lname = $row['LaName'];
$title = $row['Title'];
$keys = $row['Keyword_Name'];
$id = $row['source_ID'];
if(!in_array($title,array('',null)) && !empty($title)):
$title = '('.$title.')';
else:
$title = '';
endif;
Что это самый простой способ, чтобы показать массив, когда две таблицы быть использованным? Будет ли соединение работать лучше в этом случае?
Я не могу сделать головы или хвосты того, что ваша база данных * на самом деле * выглядит, но я * могу * сказать вам, что '[" 17 "," 18 "," 40 "]' не является массивом как и MySQL, это строка. Если вы можете опубликовать 'SHOW CREATE' для задействованных таблиц, это прояснит ситуацию. – Sammitch
Согласен - я не думал, что ваш 'внешний ключ' был сохранен в строке *« array »* внутри столбца Keyword_ID - это выбор, который вы делаете, и если да, можете ли вы отменить это в пользу правильной реляционной подход? – Matthew
Вы написали в комментарии: Я не получаю ошибку. Вместо этого я получаю keyID, а не Keyword_Name ... это моя проблема! ::: Если вы дадите свой '$ row ['Keyword_Name'];' неправильное имя это нормально. Должно быть '$ keys = $ row ['Key_Name'];' –