不是从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>
答案 0 :(得分:0)
如果要从DOC_PROGRESS中选择数据,为什么在FROM语句中使用DOCUMENT
表?
试试这个:
'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\'';
答案 1 :(得分:0)
使用此
("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'");
答案 2 :(得分:0)
查询的第一部分要求您从数据库中获取所需的列。你现在有;
SELECT * FROM document
这就是你得到的。
要从已连接的表中选择所有列,您可以使用;
SELECT * FROM document, doc_progress
但您最好选择特定的列,例如;
SELECT document.colname1, document.colname2, doc_progress.colname FROM document
希望这有帮助。