2013-01-14 137 views
3

我有從表中提取數據,並顯示其相應的選擇查詢我們可以使MySQL選擇查詢的結果可編輯和排序嗎?

$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的新手。由於

回答

1

您對某項工作原理缺少一些理解。你現在所做的是在網頁上顯示數據。您需要實現一種機制來更新數據庫,這不會立即發生,您需要以可編輯的格式(如文本框)顯示數據,並讓用戶更改數據並單擊更新按鈕,例如他是完成。那麼您需要響應該按鈕上的點擊,從文本框中獲取編輯的數據並更新數據庫中的正確位置。這是簡單的,可以用許多不同的方式完成。開始做一些和發佈一些代碼,以便我們可以幫助:)

+0

謝謝,編輯和排序在MS訪問中很容易,我以爲有這樣的機制。現在我明白了:) –

+1

歡迎你。 MS訪問是爲此編寫的程序,這意味着某人(微軟程序員)已經在那裏編寫了該功能。但在這裏它是一個全新的世界,你需要自己去做。 –

2

編輯部分將採取一些工作,但你可以使用數據表(一個jQuery插件)來處理排序,搜索等。

數據表(jQuery的表格插件) www.datatables。 net

+0

謝謝你的回答,我從來不知道DataTables,會調查一下 –

1

,而不是

'<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'"); 
} 

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

相關問題