簡體   English   中英

我們可以讓MySQL select查詢的結果可編輯和排序嗎?

[英]Can we make results of MySQL select query editable and sortable?

我有一個select查詢,它從表中提取數據並相應地顯示它

$display_query= "select * from customer WHERE abc_mailing_list = '$abc' AND def_mailing_list ='$def' AND ghi_mailing_list = '$ghi' AND position_category IN($var) AND country_code='$country_cat' ORDER BY state";

$display_result=mysqli_query($dbc2,$display_query); 

<table width = "100%"border="1" style="border-collapse: collapse;">
<tr style="background-color: #51626F; color: #FFFFFF;">
<th> S.No</th>
<th> First Name</th>
<th>Last Name</th>
<th>Position Category</th>
<th>State</th>
<th>Country</th>
<th>Title</th>
<th>Agency</th>
<th>Department</th>

</tr>
<?php
$colour2 = "transparent";  
$colour1 = "#B1B0A7";  
$count = 0;
$row_count = 0; 
while($row=mysqli_fetch_assoc($display_result)){

$rowcolor = ($row_count % 2) ? $colour1 : $colour2;
$count++;
?>
<tr style="background: <? echo $rowcolor; ?>;">
<td width="10%" height="20"><? echo $count; ?></td>
<td width="10%" height="20"><? echo $row['first_name']; ?></td>
<td width="10%" height="20"><? echo $row['last_name']; ?></td>
<td width="10%" height="20"><? echo $row['position_category']; ?></td>
<td width="10%" height="20"><? echo $row['state']; ?></td>
<td width="10%" height="20"><? echo $row['country_code']; ?></td>
<td width="10%" height="20"><? echo $row['title']; ?></td>
<td width="10%" height="20"><? echo $row['agency']; ?></td>
<td width="10%" height="20"><? echo $row['department']; ?></td>

</tr>
<?
$row_count++;
}
?>

我的問題是我想讓所有內容都可編輯,這樣如果用戶在返回的結果中發現了一些錯誤,他應該可以選擇編輯然后保存它,以便將其保存在數據庫中。 這有插件嗎? 如果這是一個微不足道的問題,我很抱歉,我是PHP的新手。 謝謝

編輯部分需要一些工作,但你可以使用DataTables(一個JQuery插件)來處理排序,搜索等。

DataTables(jQuery的表插件)www.datatables.net

你錯過了一些關於它是如何工作的理解。 您現在所做的是在網頁中顯示數據。 您需要實現一種機制來更新數據庫,這不會立即發生,您需要以文本框等可編輯格式顯示數據,而不是讓用戶更改它並單擊更新按鈕,例如當他是完成。 然后,您需要響應該按鈕上的單擊,從文本框中獲取已編輯的數據並更新數據庫中的正確位置。 簡單地說,可以通過許多不同的方式完成。 開始做一些事情並發布一些代碼,以便我們可以幫助:)

代替

'<td width="10%" height="20"><? echo $count; ?></td>' 

您應該將此列設置為數據庫中唯一的自動遞增數字,以便可以識別每一行。 從那里,您可以使用表單(復選框選擇需要編輯的列,或者可以在每列上編輯的文本輸入)。 如果您選擇使用復選框和“編輯”按鈕,請使用附加唯一ID的隱藏輸入。 然后檢查是否

(isset($_POST['id']) && isset($_POST['firstName']))
{
    $firstName = sanitizeStrin($_POST['firstName']);
    $id = sanitizeString($_POST['id']);
  mysql_query( "UPDATE table SET first_name = '$firstName' WHERE uniqueID='$id'" );
}

..等,以查看哪一行需要更新。 檢查每一列需要很多代碼,但是你明白了。 希望這可以幫助。

暫無
暫無

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

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