Моя система выбирает данные из неправильной таблицы

Вместо того, чтобы получать данные из DOC_PROGRESS таблица, он продолжает извлекать данные из DOCUMENT ТАБЛИЦА. Мне нужны данные из обеих таблиц, но я думаю, что я делаю это неправильно. Кстати, мой запрос ниже. Помоги мне, пожалуйста.

("SELECT * FROM document AS dd JOIN doc_progress AS dp ON dd.p_id = dp.p_id WHERE (dd.p_id = '".$_SESSION['currentUser']."') AND (dp.progress = 'Read')");
<?php
$select1 = "SELECT * FROM doc_progress AS dp JOIN document AS dd ON dd.p_id = dp.p_id WHERE (dd.p_id = '".$_SESSION['currentUser']."') AND (dp.progress = 'Unread')";
$sql= mysql_query($select1) or die (mysql_error());
while($row2 = mysql_fetch_array($sql)){

?>

<tr class="odd gradeX">
<td><?php echo $row2['date_created'] ?></td>

<td><a href=""><?php
echo "<b>" . $row2['doc_title']. "</b>"; ?></a></td>

<td> <?php
echo $row2['status'] ?></td>

<td> <?php
echo $row2['progress']; ?></td>

<td> <?php echo $row2['time_created']; ?></td>
</tr>

-1

Решение

Использовать этот

("SELECT DD.*, DP.* FROM document DD INNER JOIN doc_progress DP ON DD.p_id = DP.p_id WHERE DD.p_id = '".$_SESSION['currentUser']."' AND DP.progress = 'Read'");
0

Другие решения

Первая часть вашего запроса запрашивает столбцы, которые вы хотите из базы данных. У вас сейчас есть;

SELECT * FROM document

так вот что ты получаешь.

Чтобы выбрать все столбцы из объединенных таблиц, вы можете использовать;

SELECT * FROM document, doc_progress

но вам может быть лучше выбрать определенные столбцы, такие как;

SELECT document.colname1, document.colname2, doc_progress.colname FROM document

Надеюсь это поможет.

0

Почему вы используете DOCUMENT таблица в выражении FROM, если вы хотите выбрать данные из DOC_PROGRESS?

Попробуй это:

'SELECT DP.*
FROM doc_progress DP
INNER JOIN document DOC ON DOC.p_id = DP.p_id
WHERE
DOC.p_id = ' . $_SESSION['currentUser'] . 'AND
DP.progress = \'Read\'';
0
По вопросам рекламы [email protected]