2014-02-05 112 views
0

我想讓這個PHP更新窗體顯示我的所有行數據從MySQL表中。雖然它可以工作並更新我的表格,但我希望它顯示每個員工,而不必搜索員工編號以便編輯。基本上我希望它向每個員工展示一組編輯輸入,而不必搜索每一個。我問這是因爲我在網上搜索的很多,並沒有找到解決我的上訴。如何使PHP更新MySQL表格顯示所有數據行

任何幫助將不勝感激。

謝謝

PHP代碼:

<html> 
<head> 
<title>Update a Record in MySQL Database</title> 
</head> 
<body> 

<?php 
if(isset($_POST['update'])) 
{ 
$dbhost = ''; 
$dbuser = ''; 
$dbpass = ''; 
$conn = mysql_connect($dbhost, $dbuser, $dbpass); 
if(! $conn) 
{ 
    die('Could not connect: ' . mysql_error()); 
} 

$emp_id = $_POST['emp_id']; 
$emp_salary = $_POST['emp_salary']; 

$sql = "UPDATE employee ". 
     "SET emp_salary = $emp_salary ". 
     "WHERE emp_id = $emp_id" ; 

mysql_select_db(''); 
$retval = mysql_query($sql, $conn); 
if(! $retval) 
{ 
    die('Could not update data: ' . mysql_error()); 
} 
echo "Updated data successfully\n"; 
mysql_close($conn); 
} 
else 
{ 
?> 
<form method="post" action="<?php $_PHP_SELF ?>"> 
<table width="400" border="0" cellspacing="1" cellpadding="2"> 
<tr> 
<td width="100">Employee ID</td> 
<td><input name="emp_id" type="text" id="emp_id"></td> 
</tr> 
<tr> 
<td width="100">Employee Salary</td> 
<td><input name="emp_salary" type="text" id="emp_salary"></td> 
</tr> 
<tr> 
<td width="100"> </td> 
<td> </td> 
</tr> 
<tr> 
<td width="100"> </td> 
<td> 
<input name="update" type="submit" id="update" value="Update"> 
</td> 
</tr> 
</table> 
</form> 
<?php 
} 
?> 
</body> 
</html> 
+0

那麼你想要部署一個Web窗體顯示所有員工和用戶可以點擊或編輯給定的員工? – datelligence

+0

理論上每個員工都可以編輯他們的薪水。我更喜歡它在所有頁面上。我想讓用戶編輯給定員工的工資。 – Kelsey

+0

如果少於20個,那麼部署所有員工是一個很好的功能。如果有更多,也許您應該允許用戶查找示例收入範圍的分類數據。此外,更新所有員工數據並不是一個好主意,因爲用戶只是想更新一個數據。我的建議是允許用戶編輯給定的員工,從而重定向到這個員工表單,在那裏可以更新。 – datelligence

回答

0

嘗試在表單中添加你的SQL來UDPATE表。 使var_dump查看您是否收到僱主ID廣告薪水的值。

0

您是否想要顯示每個員工的下拉菜單,然後允許用戶爲該員工輸入新的工資?爲此,你可以這樣做:

echo "<select name='employee'>"; 
$query = mysql_query("SELECT * FROM employees"); 
while($row = mysql_fetch_assoc($query)) { 
$id = $row['emp_id']; 
echo "<option value='$id'>$id</option>"; 
} 
echo "<input type='text' name='salary'> 
echo "</select>"; 

請原諒我,如果我誤解了。

+0

這將是很好的。我正在考慮爲該員工提供當前薪資的輸入表單。這將允許用戶看到現在是什麼以及他/她想要的是什麼。我不確定你的建議是否可以做到這一點。 – Kelsey

0

因此,您想要顯示員工的當前工資以及要求用戶輸入新工資的表單嗎?如果是這樣,請試試這樣的:

$employee = $_POST['employee']; // Or however you're retrieving the current employee the user is editing 
$query = mysql_query("SELECT * FROM employees WHERE username='$employee'"); 

echo "<form action='FILENAME.PHP' method='post'>"; 
while($row = mysql_fetch_assoc($query)) { 
    $salary = $row['emp_salary']; 
    echo "Current salary: $salary <br />"; 
} 

echo "<input type='text' name='salary'>"; 
+0

我的問題是我不知道如何找回員工。我希望表格中的每個員工及其工資都列在頁面上,並允許用戶編輯頁面上列出的每位員工的工資。 – Kelsey