mysql_select_db($database) or die( "Unable to select database");
if (isset($_GET['projectID']))
{
$query = "SELECT taskID, name, startDate, endDate
FROM Task
WHERE projectID =" . $_GET['projectID'] . "
ORDER BY taskID ASC";
}
$result = mysql_query($query) or die( "Unable to execute query:".mysql_error());
echo "<!DOCTYPE html><html>";
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo "<tr>";
echo "<td>";
echo "<a href='q7.php?projectID=" . $_GET['projectID'] . '&taskID=' . $row['taskID'] . "'>";
echo "</td>";
echo "<td>".$row['name']."</td>";
echo "<td>".$row['startDate']."</td>";
echo "<td>".$row['endDate']."</td>";
echo "</tr>";
}
我正在尝试输出projectID的信息,这是从另一个php获得的。但输出是:查询为空。 代码有什么问题? 我省略了无关紧要的代码。 请给我一些建议。
projectID未正确传入。以下是传递代码。你能帮我弄清楚这个bug吗?
echo "<form method='GET' action='q6.php'>";
echo "ProjectIDs and names:";
echo "<select>";
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo "<option value='".$row['projectID']."' width='150'>";
echo $row['projectID'].": ".$row['name'];
echo "</option>";
}
echo "</select>";
echo "<input type='submit' name='submit' value='submit'>";
echo "</form>";
答案 0 :(得分:0)
尝试在设置查询字符串后立即执行查询:
echo "<!DOCTYPE html><html>";
if (isset($_GET['projectID']))
{
mysql_select_db($database) or die( "Unable to select database");
$query = "SELECT taskID, name, startDate, endDate
FROM Task
WHERE projectID =" . $_GET['projectID'] . "
ORDER BY taskID ASC";
$result = mysql_query($query) or die( "Unable to execute query:".mysql_error());
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo "<tr>";
echo "<td>";
echo "<a href='q7.php?projectID=" . $_GET['projectID'] . '&taskID=' . $row['taskID'] . "'>";
echo "</td>";
echo "<td>".$row['name']."</td>";
echo "<td>".$row['startDate']."</td>";
echo "<td>".$row['endDate']."</td>";
echo "</tr>";
}
} else {
echo '$_GET[\'projectID\'] is not set!';
echo '$_GET = ';
var_dump($_GET);
}
因此,当您生成表单时,您应该为您的选择设置一个名称:
echo '<select name = "projectID">';