我有兩個php頁面。 - 第一個表單在數據庫中插入數據。 - 第二個插入數據庫的所有數據。從php頁面編輯數據庫行
我怎麼能在概念上爲每行添加一個按鈕「更新」,允許我改變該行的某些值(在我的例子中是2 dropdownlist的值)並更新數據庫中的這些信息以及。
這是我能夠做到在尋找互聯網上的代碼,我有2個問題: 首先,工作只有第二個更新按鈕(所以纔有了第二排得到更新)。 第二個,這些更改不會反映到下拉列表中。 (意味着如果我更改第二行數據庫更新,但不是下拉列表)。
注意,我實現了兩列
<td>" . $row['status'] . "</td>
<td>" . $row['priority'] . "</td>
只檢查數據庫中的值更改。
<form method="post" action="job-status.php">
<?php
include("../includes/connection.php");
if($link->connect_errno > 0){
die('Unable to connect to database [' . $link->connect_error . ']');
}
if(isset($_POST['update'])) {
$results = $link->query("UPDATE job SET status='$_POST[status]',
priority='$_POST[priority]' WHERE id='$_POST[hidden]'");
}
$sql = "SELECT * from job";
if(!$result = $link->query($sql)){
die('There was an error running the query [' . $link->error . ']');
}
echo "
<table class='table'>
<thead>
<tr>";
/* Get field information for all columns */
while ($finfo = $result->fetch_field()) {
echo "
<th>" . $finfo->name . "</th>";
}
echo "
</tr>
</thead>
<tbody>";
while($row = $result->fetch_assoc()){
echo "<tr class='info'>
<td>" . $row['id'] . "</td>
<td>" . $row['device'] . "</td>
<td>" . $row['model'] . "</td>
<td>" . $row['problem'] . "</td>
<td><select class='form-control col-sm-10' id='status' name='status'>
<option value='new'>New</option>
<option value='progress'>Progress</option>
<option value='wait'>Wait</option>
<option value='done'>Done</option>
<option value='close'>Close</option>
</select></td>
<td><select class='form-control col-sm-10' id='priority' name='priority'>
<option value='high'>High</option>
<option value='medium'>Medium</option>
<option value='low'>Low</option>
</select></td>
<td>" . $row['status'] . "</td>
<td>" . $row['priority'] . "</td>
<input type=hidden name=hidden value=" . $row['id'] . ">
<td><button type='submit' class='btn btn-primary btn-sm' name='update'>Update</button></td>
<td> <a class='btn btn-primary btn-sm' data-toggle='modal' data-target='#myModal'>Info</a></td>
</tr>";
}
echo "
</tbody>
</table>";
?>
</form>
概念?編輯按鈕創建一個表單提交,它調用位於您的服務器上的send.php表單。顯然你必須發送所有數據到該鏈接,而不僅僅是名稱。該php文件驗證用戶所需的編輯,然後將更新推送到mySQL數據庫。提交後,刷新數據庫顯示頁面給用戶(顯示更新的數據條目)您也可以使用Ajax,但這有點棘手(並且需要使用JavaScript)或其他工具 – zipzit
@zipzit除了提交表單和JavaScript可以被僱用? – Terminus
看看Symfony及其數據庫提取層,Doctrine ..(注意還有其他工具是這樣的......)或學習Angular.js等先進的JavaScript工具是如何工作的。注意:這些不是用於臨時修復的..這些是高度開發的工具,需要一些時間來理解和實施。 – zipzit