我在我的数据库中的两个表选择合适的数据为用户
U_ID表的任务是从表的用户ID的外键
我的代码是这样的
<?php
require("common.php");
if(empty($_SESSION['user']))
{
header("Location: login.php");
die("Redirecting to login.php");
}
$query = "
SELECT
id,
username,
eID
FROM users
WHERE id <> '5'
";
$query1 = "
SELECT
T_ID,
task_tom,
U_ID
FROM tasks
ORDER BY T_ID DESC LIMIT 1
";
try
{
$stmt = $db->prepare($query);
$stmt->execute();
}
catch(PDOException $ex)
{
die("Failed to run query: " . $ex->getMessage());
}
$rows = $stmt->fetchAll();
try
{
$stmt1 = $db->prepare($query1);
$stmt1->execute();
}
catch(PDOException $ex)
{
die("Failed to run query: " . $ex->getMessage());
}
$rows1 = $stmt1->fetchAll();
?>
<h1>Memberlist</h1>
<table border="1">
<tr>
<th>Username</th>
<th>Employee ID</th>
<th>Task</th>
</tr>
<?php foreach($rows as $row): foreach($rows1 as $row1): ?>
<tr>
<td><?php echo htmlentities($row['username'], ENT_QUOTES, 'UTF-8'); ?></td>
<td><?php echo htmlentities($row['eID'], ENT_QUOTES, 'UTF-8'); ?></td>
<td><?php echo $row1['task_tom']; ?></td>
<?php endforeach; endforeach;?>
</table>
<br/>
<a href="edit_account.php">Edit Account</a><br /><a href="logout.php">Logout</a>
我的问题是我如何填充表中的任务列,对应于正确的U_ID。
这个代码将提供给我这个答案
据称,SSIS(数据挖掘)仅仅是分配给巴希尔和劳伦斯应该有一个空白的任务,因为用户didnt输入劳伦斯任何任务,只是还没有在task_tom但似乎我对我的选择语句有缺陷,或者它是我的每个用户将它打印在桌面上的每个用户。所以我的问题是如何解决这种问题?
不要使用两个查询..而是加入他们与用户ID – 2013-03-26 07:03:42
请你可以请进一步向我解释我的好先生 – Yinks 2013-03-26 07:05:05
好吧看到你的任务每个任务有其各自的用户ID。你可以连接你的任务表u_id到用户表ID来产生只有1个结果,这是你输出的样子看起来像 – 2013-03-26 07:06:52