2013-02-17 294 views
0

我的任務是創建表單以通過HTML表單更新特定行數據的一部分。我已經成功從mysql數據庫中檢索行數據,但是當我嘗試在html表單的字段中顯示特定行數據(StudentNumber,FirstName,LastName等)時,它只顯示空字段。我可能錯過了什麼?MYSQL行數據不會在HTML表單字段中回顯/顯示

下面是一個顯示形式PHP頁面編碼:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>updating data record</title> 
</head> 
<body> 

<?php 
//connect to the database 
    $conn = mysql_connect('localhost', 'root', ''); 
    if (!$conn) { 
    die('Not connected : ' . mysql_error()); 
} 
    $db_selected = mysql_select_db('ccm3413', $conn); 
    mysql_set_charset("utf8",$conn); 
    $id = $_GET['id']; 

    $result = mysql_query("SELECT * FROM studentinfo WHERE recordID = '$id'"); 
    while ($row = mysql_fetch_assoc($result)) { 
    } 

?> 

<form id="form1" name="form1" method="post" action="processUpdateRecord.php"> 
    <p> 
    <label>Student Number: 
     <input name="StudentNumber" type="text" id="StudentNumber" size="10" value="<?php echo $row['StudentNumber']; ?>"/> 
    </label> 
    </p> 
    <p> 
    <label>First Name: 
     <input name="FirstName" type="text" id="FirstName" size="20" value="<?php echo $row['FirstName']; ?>"/> 
    </label> 
    </p> 
    <p> 
    <label>Last Name: 
     <input name="LastName" type="text" id="LastName" size="20" value="<?php echo $row['LastName']; ?>"/> 
    </label> 
    </p> 
    <p> 
    <label>Email Address: 
     <input name="EmailAddr" type="text" id="EmailAddr" size="50" value="<?php echo $row['EmailAddr']; ?>"/> 
    </label> 
    </p> 
    <p> 
    <label>Telephone: 
     <input name="PhoneNumber" type="text" id="PhoneNumber" size="20" value="<?php echo $row['PhoneNumber']; ?>"/> 
    </label> 
    </p> 
    <p> 
    <input type="submit" name="Update" id="Update" value="Update" /> 
    </p> 

</form> 

</body> 
</html> 
+0

您應該使用MySQLi或PDO,因爲PHP中的MySQL函數已被棄用。 – Ethan 2013-02-17 18:55:52

+0

'$ row'是循環的局部變量,在你使用數據庫的時候有多少個記錄? – Josh 2013-02-17 18:58:39

+0

@Ehan,儘管非常真實,但新用戶總是對此感到不安。 – Pachonk 2013-02-17 18:59:10

回答

0

試試這個代碼,而不是:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>updating data record</title> 
</head> 
<body> 

<?php 
//connect to the database 
    $conn = mysql_connect('localhost', 'root', ''); 
    if (!$conn) { 
    die('Not connected : ' . mysql_error()); 
} 
    $db_selected = mysql_select_db('ccm3413', $conn); 
    mysql_set_charset("utf8",$conn); 
    $id = mysql_real_escape_string($_GET['id']); 

    $result = mysql_query("SELECT * FROM studentinfo WHERE recordID = '$id'"); 
    $student = (mysql_num_rows($result)==1) ? mysql_fetch_assoc($result) : null ; //You expect only 1 student, right? 

if (is_array($student)){ 
?> 

<form id="form1" name="form1" method="post" action="processUpdateRecord.php"> 
    <p> 
    <label>Student Number: 
     <input name="StudentNumber" type="text" id="StudentNumber" size="10" value="<?php echo $student['StudentNumber']; ?>"/> 
    </label> 
    </p> 
    <p> 
    <label>First Name: 
     <input name="FirstName" type="text" id="FirstName" size="20" value="<?php echo $student['FirstName']; ?>"/> 
    </label> 
    </p> 
    <p> 
    <label>Last Name: 
     <input name="LastName" type="text" id="LastName" size="20" value="<?php echo $student['LastName']; ?>"/> 
    </label> 
    </p> 
    <p> 
    <label>Email Address: 
     <input name="EmailAddr" type="text" id="EmailAddr" size="50" value="<?php echo $student['EmailAddr']; ?>"/> 
    </label> 
    </p> 
    <p> 
    <label>Telephone: 
     <input name="PhoneNumber" type="text" id="PhoneNumber" size="20" value="<?php echo $student['PhoneNumber']; ?>"/> 
    </label> 
    </p> 
    <p> 
    <input type="submit" name="Update" id="Update" value="Update" /> 
    </p> 
</form> 
<?php 

else { 
    echo "The student has not been found" ; 
} ?> 

</body> 
</html> 
+0

這工作,但我把底部的「其他」移動到頂部的PHP塊。非常感謝。 – 2013-02-17 19:10:51

+0

你能告訴我你是如何做到的......就像從底部到頂部的php塊一樣移動「else」? – 2015-11-04 14:50:29

0

你需要把形式,而括號內。