2013-05-14 45 views
0

我想通過單擊表單的提交按鈕在變量中存儲提交的文本值,以便我可以使用該變量進一步查詢數據庫。在單擊提交按鈕後,將表單提交的文本值分配給變量

我的代碼:

<? 
if($submit) 
    { 
     mysql_connect("localhost:3036","root","root");//database connection 
     mysql_select_db("sync"); 
      $order = "INSERT INTO country (id,country) VALUES ('44','$submit')"; 
     $result = mysql_query($order); 
     if($result){ 
     echo("<br>Input data is succeed"); 
      } else{ 
     echo("<br>Input data is fail"); 
} 
} 

?> 

<html> 
<title>form sumit</title> 

<body> 
<form method="post" action=""> 
<input type="text" name="id" value="<?=$submit;?>"/> 
<input type="Submit" name="submit" value="Submit"> 
</form> 

</body> 
</html> 

//在實際情況下,該形式具有與來自DB QUERY含有值單選按鈕元素, 我想使用所選擇的項目從表單處理另一DB查詢在同一頁面...

由於提前

+1

哪裏是U處理形式後..我看不到它。你也使用短標籤..確保你的php.ini配置爲它 – alwaysLearn 2013-05-14 10:45:01

回答

0

提交的表單數據自動被分配給一個變量($ _ POST,你的情況)。如果您想要更長期的存儲,請考慮使用$ _SESSION變量,否則在腳本終止時會丟棄提交的數據。

請澄清你的問題,因爲我不太清楚你想在這裏實現什麼。

在一個正常的工作流程中,首先檢查您的表單是否已經被處理(查看$ _POST是否有任何值得處理的數據),然後查詢數據庫中您需要的任何數據,然後渲染實際表單。

正如所承諾的,這裏有一個動手樣本:

<?php 
if ($_POST['ajax']) { 
    // This is a very trivial way of detecting ajax, but we don't need anything more complex here. 
    $data = workYourSQLMagicHere(); //data should be filled with the new select's html code 

    print_r(json_encode($data)); 
    die(); // Ajax done, stop here. 
} 

    /* Your current form generation magic here. */ 
?> 
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 

<script> 
// This should probably go into a separate JS file. 

$('#select1').change(function() { 
    var url = ''; //Here we're accessing the page which originates the script. If you have a separate script, use that url here. Local only, single-origin policy does not allow cross-domain calls. 
    var opts = { ajax: true }; 
    $.post(url, opts, function(data) { 
     $('#select2').replaceWith($.parseJSON(data)); //Replace the second select box with return results 
    }); 
}); 

</script> 

<select id="select1"><?=$stuff;?></select> 

<select id="select2"><?=$more_stuff;?></select> 
+0

我給出的代碼是一個示例代碼,但實際上我被填充第二個下拉列表基於選擇的第一個列表這兩個列表顯示的結果從一些數據庫查詢沒有按下提交按鈕(我不得不找到部門列表,只顯示從數據庫選定的部門提供的課程)...因爲我沒有這樣做,我想到做在存儲提交按鈕的值,然後應用一些db查詢onthat同樣的事情....感謝 – pali 2013-05-14 11:15:05

+0

有兩種方法做到這一點:要麼使用從$ _POST的響應數據逐步建立表單,提交表單對於每一步,或者使用JavaScript和AJAX動態填充第二個下拉列表。您需要爲此使用補充腳本。 – 2013-05-14 11:25:03

+0

第二個選項是我想要使用的選項,我想請你給我一些示例教程和相同的例子...在此先感謝。 – pali 2013-05-14 11:35:00

0

試試這個 -

<?php 
$submit = $_POST['id']; 

if($submit) 
    { 
     //your code is here 
      echo $submit; 
    } 

?> 

<html> 
<title>form sumit</title> 

<body> 
<form method="post" action=""> 
<input type="text" name="id" value="<?php echo $submit; ?>"/> 
<input type="Submit" name="submit" value="Submit"> 
</form> 

</body> 
</html>