2012-06-06 52 views
0

好吧,所以基本上我有我已經添加到一個html表和一個保存按鈕的數據。我想要這個按鈕將表中的數據提交給php函數,以便我可以使用這些數據修改我的mysql數據庫。我有修改數據庫的工具,只要我可以獲取數據。但是,我不知道如何做到這一點。什麼是完成這個最好的方法?Php在html表中使用數據

+3

這是非常基本的東西;我建議你通過一個基本的PHP /數據庫教程。我所知道的所有這些都充分說明了這一點。見例如http://stackoverflow.com/questions/2119083/php-tutorial-that-is-security-accuracy-and-maintainability-conscious –

+0

對於一個快速的方法,你可能也想閱讀這個http://www.w3schools .com/php/php_mysql_insert.asp –

+0

@Pekka你可能是對的;我整晚都在做一個項目,所以我現在很累。我一直在Google上尋找解決方案,但一直沒有找到任何東西,所以我想我會在這裏問。感謝您的鏈接。 – MirroredFate

回答

5

除了什麼@約翰孔德表示,對於於上表中的每個記錄,你應該建立它的相應的隱藏字段即<input type="hidden"... />
考慮到表中的行數和列,我會作出一些假設:

  1. 我將假設行相當於你在每記錄的基礎
  2. 數據的列是字段,你將在每個記錄的基礎數據更新

你打算在這個假設(讓我假設3場,即3列和2條)

 Field 1 Field 2 Field 3 
Row 1  a   b   c 
Row 2  d   e   f 

對於這些,我們將創建表單對應的輸入字段,我們將創建包含像提交按鈕所以:

<form action="" method="post"> 
    <!--Row 1--> 
    <input type="hidden" name="field_1[]" value="a" /> 
    <input type="hidden" name="field_2[]" value="b" /> 
    <input type="hidden" name="field_3[]" value="c" /> 
    <!--Row 2--> 
    <input type="hidden" name="field_1[]" value="d" /> 
    <input type="hidden" name="field_2[]" value="e" /> 
    <input type="hidden" name="field_3[]" value="f" /> 
    <!-- more rows if they exist --> 
    <input type="submit" name="my_btn" value="POST IT!" /> 
</form>  

在PHP端,然後你可以處理表單域,就像這樣:

foreach($_POST["field_1"] as $id=>$field1_value){ 
    $field2_value = $_POST["field_2"][$id]; 
    $field3_value = $_POST["field_3"][$id]; 
    ....... 
} 

希望這有助於

+0

這非常有幫助,非常感謝。爲了清楚起見,當我使用Javascript修改表格單元格時,正確的做法是更新隱藏的輸入字段,這是否正確?或者,相反,沒有辦法將隱藏的輸入與表格單元綁定在一起? – MirroredFate

+0

它們本身沒有綁定,你將不得不重新加載內容(即html);換句話說,無論是表單(包含字段)還是表格,都可以根據具體情況反映任何新數據或更改。將表單的「隱藏」字段視爲只有程序員才能訪問的東西,而表格是告訴用戶在那裏保存的內容 –

+1

謝謝。你的回答幫助我解決問題並使事情順利進行。 – MirroredFate

0
  • 在表中的數據或者需要在表單字段如<input><textarea>等因此它們可以在表單提交時或要提交的數據可以是< input type="隱藏「`>字段。

  • 你的表格需要的方法設置爲POST(雖然GET會的工作也一樣,它不是最好的practice_

  • 你會發現所有的表單數據在$_POST的SuperG葉形。

1

首先將您的表格放入<窗體中,並帶有一些操作和選擇的方法(GET,POST等)。 像這樣:

<br> 
< form id="tktk" name="tktk" method="GET" action=" < ? php echo $_SERVER['PHP_SELF'];?>?return=Yes"><br> 
    < table style="width: 98%;border:0px"><br> 
    < tr><br> 
     < td>etc.etc.<br> 

然後你就可以這樣提交:

if(isset($_GET['return']) && $_GET['return'] == 'Yes'){ 

$sql = "UPDATE [table] SET [field-a] = 1 WHERE [field-b] = '" . $id . "'";<br> 
$result = sqlsrv_query($link, $sql) or die('Errant query: '.$sql);<br> 

} 

但總的來說,我同意其他人誰建議你通過教程步驟首先要充分了解你的編碼是什麼。

+0

謝謝。你有沒有可能編輯你的代碼來使事情保持一致並使其更具可讀性?此外,您正在使用方法後,但訪問得到...? – MirroredFate

+0

MirroredFate ...我修復了表單方法。另外,有沒有教程在Stack Overflow上正確地設置代碼片段的格式?例如,我不得不添加一個額外的空間,以便讓事情在< >胡蘿蔔中出現。 – bobbiloo

相關問題