我有一个input.php文件,其中包含两种类型的查找字段。一个是从一系列<option>
标签($ grade_1)中填充的,另一个字段是从数据库中的一个列($ role_1)填充的。两个查找字段在input.php表单中都显示正常。我无法根据数据库输入($ role_1)将用户选择放入post.php。我使用ISSET作为测试代码来查看是否可以获取$ role_1的计数和数据。我可以回显Count($ nroles),但不显示数据元素($ role_1)的回显。变量$ grade_1正常工作。
这是输入表单的一部分:
<?php $link = new mysqli("localhost","USER","PASSWORD", "DATABASE");
if (mysqli_connect_errno())
{ printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
if (!$link->set_charset("utf8"))
{ printf("Error loading character set utf8: %s\n", $link->error);
exit();
}
$role_sql = "SELECT role FROM lu_role";
$role_result2 = mysqli_query($link, $role_sql) or die (mysqli_error($link));
$options = "";
while($row2 = mysqli_fetch_array($role_result2))
{
$options = $options."<option value=''>$row2[0]</option>";
}
?>
<form action="post.php" method="post">
<table class="table_600_reg">
<tr>
<td width="120">
<select name="grade_1" style="background-color:#EFD381;">
<option value="0">Choose Grade</option>
<option value="1">First</option>
<option value="2">Second</option>
<option value="3">Third</option>
<option value="4">Fourth</option>
<option value="5">Fifth</option>
<option value="6">Sixth</option>
<option value="7">Seventh</option>
<option value="8">Eighth</option>
</select>
</td>
<td width="200" align="left">
<select name="role_1" style="background-color:#EFD381;">
<?php echo $options;?>
</select>
</td>
</tr>
</table>
</form>
Post.PHP文件的片段是:
$link = new mysqli("localhost","USER","PASSWORD", "DATABASE");
if (mysqli_connect_errno())
{
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
//* change character set to utf8 */
//Print an error if utf8 can not be loaded
if (!$link->set_charset("utf8"))
{
printf("Error loading character set utf8: %s\n", $link->error);
exit();
}
$role_1 = mysqli_real_escape_string($link, $_POST[role_1]);
$grade_1 = mysqli_real_escape_string($link, $_POST[grade_1]);
if(!isset($role_1))
{
echo("<p>You didn't select any role_1!</p>\n");
}
else
{
$nroles = count($role_1);
echo("<p>You selected $nroles roles: ");
for($i=0; $i < $nroles; $i++)
{
echo($role_1[$i] . " ");
}
echo("</p>");
exit;
}
为什么我看不到$ role_1变量中的数据? 谢谢你看这个。
答案 0 :(得分:1)
$options = $options."<option value=''>$row2[0]</option>";
值为空字符串