2011-03-19 26 views
1

我需要一個基於HTML的表單來將數據庫記錄綁定在一起。我設想的用戶場景是這樣的:我需要一個將MySQL記錄綁定在一起的表單

超級用戶對數據庫進行搜索並基於該搜索遞送記錄表;每個記錄都使用數據庫記錄標識進行編號。

每個記錄旁還會有兩個文本字段。這些文本字段將允許:

  1. 用戶從一個記錄到另一個記錄做參考。例如,用戶可以將整數242輸入到記錄標識#457中,以指示與記錄標識#242有關。
  2. 用戶還將描述類型的關係。這可以用第二個字段中的一個簡單整數來完成,該整數指示兩條記錄之間的關係類型。

當超級用戶點擊提交按鈕時,所有這些關係都保存在mySqljoin表中。

一種選擇是給我建議如何在PHP中實現和編寫自己的代碼。但是,在我重新發明輪子之前,另一種選擇是將我引導到一個類似的免費腳本。

+0

如果你需要實際的代碼 - 我會推薦轉移到SO。 – iivel 2011-03-20 14:19:35

回答

1

如果你只是尋找一個僞代碼框架,我會做這樣的事情的形式的身體:

<form id="my_form" action="" method="post"> 
<table id="my_table"><tr><th>Result ID</th><th>Related ID</th><th>Relation Type</th></tr> 

<?php 
$result = mysql_query("SELECT blah blah"); 
while ($row = [your chosen method of fetching results]) { 
    $resource_id = $row['id']; 
    echo "<tr><td>".$resource_id."</td>"; 
    echo "<td><input type=\"text\" name=\"related[".$resource_id."]\" /></td>"; 
    echo "<td><input type=\"text\" name=\"type[".$resource_id."]\" /></td></tr>"; 
} 
?> 
</table> 
<input type="submit" value="Submit Related Resources" /> 
</form> 

然後當用戶提交表單,用它加工另一個循環遍歷相關數組和類型數組中的每個值並提交一個mysql_query(「INSERT blah blah」)。例如:

$related_resources = $_POST['related']; 
$related_types = $_POST['type']; 
foreach ($related_resources as $original_resource -> $related_resource) { 
    $type = $related_types[$original_resource]; 
    mysql_query("INSERT INTO [table name] ('resource', 'related', 'type') VALUES ('".$original_resource."', '".$related_resource."', '".$type."'"); 
} 

當然,你也應該增加一個「如果in_array」等獲得的類型之前,請確保用戶輸入一個和存儲默認如果不是,或加工前檢查形式的完整性如果你想要他們填寫這兩個領域。在讓任何用戶將數據輸入到表中之前,您還應該通過安全功能(轉義引號等)運行輸入。

0

這聽起來太具體了,您可以輕鬆地從其他地方重新使用腳本。另外,用戶/超級用戶組合使其實施起來更加複雜。

如果訪問控制不是問題,您可以使用phpMyAdmin或類似的東西。否則,你需要一個自定義的實現。雖然基於你的問題,建議你如何做到這一點很困難。更多細節會有所幫助。

相關問題