0

我试图让一个 .php 文档中的变量显示在另一个文本框中。在此过程中,变量的值将返回数据库以获取与变量相关的信息。
更具体地说,用户从第一个表单上的动态填充下拉框中选择一个 StudentID,然后转到另一个表单,其中所选的 StudentID 显示在第一个文本框中,以及其他数据(例如电子邮件地址、电话号码.) 显示在下面的不同文本框中。然后,这允许用户修改显示的数据并将其保存回数据库。

我遇到问题的原因是变量值最初来自动态填充的下拉框。根据我的尝试,我不认为该变量被传递给第二种形式。这是因为我尝试了不同的代码变体来让数据显示在文本框中,但每次都没有显示任何内容。

以下是下拉框中的代码:

$query="SELECT StudentID FROM Personal_Details";
$result = mysql_query ($query);
echo '<select name= "StudentID">';
//Printing the list box select command
while($nt=mysql_fetch_array($result)){ /*Array or records stored in $nt*/
echo "<option value=$nt[StudentID]>$nt[StudentID]</option>";
/*Option values are added by looping through the array*/
}
echo "</select>"; //Closing of lost box
?>

作为新手,我假设变量是“StudentID”。

如果是这种情况,这是第二个 .php 文档中用于获取要在文本框中显示的变量值以及其他数据的代码:

$query=mysql_query("SELECT Email, Phone FROM Personal_Details WHERE StudentID = '$StudentID'") or die(mysql_error());
while ($row = mysql_fetch_row($query)) {
   $email = $row[1];
   $phone = $row[2];
}
?>

(这里有一些 html 代码来设置表单。我跳过了,直接进入与问题相关的代码)

<form name="modstudent" method="post" action="modstudent2.php">
Student ID: <input name="StudentID" type="text" value="<?php printf("%s",$StudentID);?>"><br>
Email: <input name="email" type="text" value="<?php printf("%s",$email);?>"><br>
Phone: <input name="phone" type="text" value="<?php printf("%s",$phone);?>"><br>

任何帮助将不胜感激。提前致谢。

更新

问题似乎是第一页的变量没有传递到第二页。为了确保这是一个变量问题,将一个固定值代入下面的代码:

$query=mysql_query("SELECT Email, Phone FROM Personal_Details WHERE StudentID = '/StudentID-here/'") or die(mysql_error());

需要更改什么以便可以传递变量?提前致谢。

4

1 回答 1

0

echo "<option value=".$nt[StudentID].">".$nt[StudentID]."</option>"; 或使用<option value=echo($nt[StudentID])>echo($nt[StudentID])</option>;

于 2013-09-07T04:00:27.603 回答