我正在使用的主页称为“项目详细信息页面”,当您在窗体上选择一个项目编号时,它将在子窗体中查询与该项目编号相关的任何记录,并将它们显示在名为(TasksSubform)的页面中。 名为(TasksSubform)的页面使用名为mysqli_connect.php的php文件获取数据库连接,并将该连接分配给mysqli_connect.php文件中的$ dbc。 然后,该页面查询名为“ CommonTasks”的表1,并使用
开始在页面上的表中逐行显示数据。sync_file_range
当前显示的记录中的一列名为“ AssignedTo”,它在Employees表中生成唯一的ID号,而不是与该ID号关联的雇员名的文本值。因此,我需要能够使用Fetch列出CommonTasks表中的记录,然后,当它尝试在Common Tasks表内的“ AssignedTo”列中显示值时,它必须在Employees表中查找与“常见任务”表中的相同值,然后用“雇员”表中的文本值替换“分配给字段”的数字值。
sync_file_range
这就是我所拥有的。然而,它所产生的只是php页面上“分配给”字段中的空白。
enter image description here 我是php和mysql的新手。 这可能是我忽略的简单事情。 但是,过去几天我一直在对各种方法进行故障排除,但似乎无法弄清楚我在做什么错。
while($row = $result->fetch_assoc())
答案 0 :(得分:0)
当前,此行正在产生结果
$result = $dbc->query($sql);
以下行将不会执行mysql查询。
echo "<td>". $row ['SELECT LastName, FirstName FROM Employees JOIN CommonTasks WHERE Employees.ID = $_GET[AssignedTo] LIMIT 1'] . "</td>";
如所写,您试图在$ result中查找一个不存在的行值。您需要在第一个while循环中调用第二个查询,并传递$ _GET [AssignedTo]的值,该值可能是$ row [AssignedTo]
类似这样的东西
while($row = $result->fetch_assoc()) {
echo "<tr>";
echo "<td><a href= $link > $row[Title] </a></td>";
echo "<td>". $row['DueDate'] . "</td>";
echo "<td>". $row['StartDate'] . "</td> " ;
echo "<td>". $row['Cost'] . "</td>";
echo "<td>". $row['Priority'] . "</td>";
echo "<td>". $row['PercentComplete'] . "</td> " ;
$emp = "SELECT LastName, FirstName FROM Employees JOIN CommonTasks WHERE Employees.ID = '$row[AssignedTo]' LIMIT 1";
$result2 = @mysqli_query($dbc, $emp);
$row2 = $result2->fetch_assoc();
echo "<td>". $row2 ['Firstname'] . " ". $row2 ['Lastname'] . "</td>";
echo "<td>". $row['Description'] . "</td> " ;
echo "</tr>";
}
答案 1 :(得分:0)
所以,这是我对您的示例所做的修订:
while($row = $result->fetch_assoc()) {
echo "<tr>";
echo "<td><a href= $link > $row[Title] </a></td>";
echo "<td>". $row['DueDate'] . "</td>";
echo "<td>". $row['StartDate'] . "</td> " ;
echo "<td>". $row['Cost'] . "</td>";
echo "<td>". $row['Priority'] . "</td>";
echo "<td>". $row['PercentComplete'] . "</td> " ;
$emp = "SELECT LastName, FirstName FROM Employees JOIN CommonTasks WHERE Employees.ID = '$row[AssignedTo]'";
$result2 = @mysqli_query($dbc, $emp);
$row2 = $result2->fetch_assoc();
echo "<td>". $row2['LastName']," , ",$row2[FirstName] . "</td>";
echo "<td>". $row['Description'] . "</td> " ;
echo "</tr>";
}
}
echo "</table>";
?>
哪个生成此内容:Results of modified code
非常感谢您的帮助! 由于我正在将Access数据库转换为mySQL并重新创建所有查询,表单和报告。...我相信在不久的将来我会遇到大量的问题。
埃里克