簡體   English   中英

帶有內聯鏈接的PHP SQL表編輯行

[英]PHP SQL Table Edit row with inline link

我有一個工作正常的表,但是,無論單擊哪個編輯鏈接,它當前都會將用戶發送到phpmyedit屏幕。 我要完成的任務是單擊內聯鏈接以直接編輯該特定行或“ id”。 這是我的代碼示例:

$result = mysqli_query($con,"SELECT * FROM `TABLE_NAME` ORDER BY ID DESC");
echo "<table>";
echo "<table border='1' style='margin:200px 200px 500px 50px;'>
<tr>
<th>ID</th>
<th>TABLE HEADER</th>
<th>TABLE HEADER</th>
<th>TABLE HEADER</th>
<th>TABLE HEADER</th>
<th>TABLE HEADER</th>
<th>TABLE HEADER</th>
<th>TABLE HEADER</th>
<th>TABLE HEADER</th>
<th>Edit</th>
</tr>";

while($row = mysqli_fetch_array($result))
  {
  echo "<tr>";
  echo "<td>" . $row['ID'] . "</td>";
  echo "<td>" . $row['rowName'] . "</td>";
  echo "<td>" . $row['rowName'] . "</td>";
  echo "<td>" . $row['rowName'] . "</td>";
  echo "<td>" . $row['rowName'] . "</td>";
  echo "<td>" . $row['rowName'] . "</td>";
  echo "<td>" . $row['rowName'] . "</td>";
  echo "<td>" . $row['rowName'] . "</td>";
  echo "<td>" . $row['rowName'] . "</td>";
  echo "<td><a href='http://phpmyedit.com/editexample".$row['']."'>Edit</a></td><tr>";
  echo "</tr>";
  }
echo "</table>";

?>

因此,基本上,我只需要允許編輯鏈接直接在單擊它的行中編輯該ID。

**編輯:我正在使用PHPMyEdit編輯/更新數據庫表中的數據,並希望繼續使用PHPMyEdit。

提前致謝。

echo "<td><a href='edit.php?id=".$row['ID']."'>Edit</a></td><tr>";

在edit.php中,您必須創建一個將從數據庫中加載值的表單:

<?php 

if (isset($_POST['fieldName']){
  mysqli_query($con, 'UPDATE `TABLE_NAME` SET fieldName='.$_POST['fieldName'].' WHERE ID='.intval($_GET['id']);
  exit;
}

$row = mysqli_fetch_assoc(mysqli_query($con, 'SELECT * FROM `TABLE_NAME` WHERE ID='.intval($_GET['id']))); ?>
<form method="POST">
<input type="text" name="fieldName" value="<?php echo $row['fieldName'] ?>">
<!--    -->
<input type="submit" value="save edit">
</form>

您需要通過數據過濾來改進此偽代碼,添加更多字段,包括數據庫連接等。

我認為您需要一個JavaScript代碼才能觸發“編輯”模式。

但是首先,在執行while循環時,需要為表字段賦予唯一的ID。

$counter=1;
while($row = mysqli_fetch_array($result))
  {
  echo "<tr>";
  echo "<td><div id='ID_$counter'>" . $row['ID'] . "</div></td>";
  echo "<td><div id='TH1_$counter'>" . $row['rowName'] . "</div></td>";
  echo "<td><div id='TH2_$counter'>" . $row['rowName'] . "</div></td>";
...
  echo "<td><button onclick='triggerEdit($counter)'>Edit this row</button></td><tr>";

$counter++;
}

然后使用javascript創建編輯和更新功能:

    function triggerEdit(rowNumber) {
            document.getElementById('id_'+rowNumber).innerHTML = "<input type=text id='SOMEIDx'><button onclick='update(SOME_IDx)'>update</button>";
            document.getElementById('TH1_'+rowNumber).innerHTML = "<input type=text id='SOMEIDx2'><button onclick='update(SOME_IDx2)'>update</button>";
// don't forget to assign the IDs
        }

如果要使用舊值,則可以在更改它們之前使用document.getElementById()。innerHTML訪問它們。

最后,構造一個更新函數,使用給定字段ID的AJAX發送數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM