我正在嘗試使用PHP編寫一個動態表單。我想有一個包含兩種形式單一的網頁:在單個PHP文件中有多個提交按鈕的兩種形式
- 上形式允許搜索在MySQL數據庫中的元素,例如,一個名字
- 較低的形式顯示了數據此名稱在數據庫中
如果我按在上表中的「搜索」按鈕關聯,那麼較低的形式顯示和文本字段都充滿了從數據庫中屬於該名數據。如果我將用戶名更改爲其他值並再次按「搜索」,則會顯示與新記錄相關聯的數據,依此類推。
下面的表單還有一個「Update」按鈕,它允許將對文本框(在下部)所做的更改傳輸到數據庫。
現在,我有以下問題:在我的腳本中,我最初設置名稱的值(從上面的形式)到「」。然後當我按下「搜索」按鈕時,窗體的下半部分就會顯示出來,相應的數據將顯示在下半部分。然後當我按下「更新」按鈕時,與名稱相關的文本字段被設置爲空字符串。這是因爲在我的腳本中,我最初的名字是「」。我希望在這種情況下,輸入的數據不會改變,即保持不變。
我想,我在這裏失去了一些東西。這可能是一個簡單的解決方案,我正在做一些根本性的錯誤。如果你能幫助我,那會很棒。
這就是我的嘗試...我刪除了很多細節,但我想這可以給你一個想法,我想要做什麼。注意整個代碼在文件update.php中。
<?php
function search_bus($mysql, $name)
{
// do some stuff here...
}
function update_bus($mysql, $b_id)
{
// do some stuff here...
}
// some global variables
$b_id = 0;
$username = ""; // username of business
// get b_id that corresponds to username
if (isset($_REQUEST['search']))
{
$b_id =0; // business id
if (isset($_POST['user']))
{
$username = $_POST['user'];
$b_id = search_bus($mysql, $username);
}
}
elseif(isset($_REQUEST['update']))
{
update_bus($mysql, $b_id);
}
?>
<h2>Search:</h2>
<form name="search_bus" method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Username: <input type="text" name="user" value="<?= htmlentities($username) ?>"/>
<input type="submit" value="Suchen" name="search"/>
</form>
<?php
if($b_id != 0)
{
?>
<h2>Data:</h2>
<form name="business_design" method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
<-- some form follows here -->
<?php
}
?>
你能展示一些代碼嗎?如果你動態地隱藏,你將需要有一些JavaScript或JavaScript庫(如jQuery)。 – Sablefoste 2012-07-09 20:53:17
我加了一些代碼...希望有幫助! – user1513073 2012-07-09 21:11:57
這功課呢? :)) – DarthVader 2012-07-09 21:12:16