我有一個問題,我是PHP新手,我一直在做一些練習。我目前的工作是創建一個簡單的表單來搜索數據庫(名字,姓氏)。返回的結果應該填充到另一個表單中。這樣,如果我想更新記錄,我所要做的就是更改填充表單的值並點擊更新。我創建數據庫沒有問題。PHP,關於搜索和更新記錄的問題
以下是代碼。 (大家不要笑,我很新...我相信有這樣做的更有效的方式,但我只是玩弄現在)
這裏是形式:
<form action="" method="post">
<strong>Search for name</strong><br>
<label for="fname">First Name</label>
<input type="text" name="fname">
<label for="lname">Last Name</label>
<input type="text" name="lname">
<input type="submit" name="submit" value="Search">
</form>
這裏是PHP:
if(isset($_POST['submit'])){
$first_name = $_POST['fname'];
$last_name = $_POST['lname'];
if ($first_name == NULL || $last_name == NULL) {
echo "please enter search record";
}
else {
$query = "SELECT first_name, last_name FROM formdata WHERE first_name LIKE '%$first_name%' OR last_name LIKE '%$last_name%'";
$result = mysqli_query($conn, $query);
$result_array = mysqli_fetch_row($result);
$fname_value = $result_array[0];
$lname_value = $result_array[1];
echo "
<form action='' method='post'>\n
<label for='fname_u'>First Name</label>\n
<input type='text' name='fname_u' value='$fname_value'>\n
<label for='lname_u'>Last Name</label>\n
<input type='text' name='lname_u' value='$lname_value'>\n
<input type='submit' name='update' value='Update'>\n
</form>";
}
}
if(isset($_POST['update'])) {
$first_name_u = ($_POST['fname_u']);
$last_name_u = ($_POST['lname_u']);
$query_update = "UPDATE formdata SET first_name = '$first_name_u', last_name = '$last_name_u' WHERE first_name = '$fname_value';";
echo $query_update; // this is just for testing
}
此代碼似乎工作,做我想做的,一路攀升時,我提交更新的信息。我無法弄清楚如何將$ fname_value變量的值傳遞給if(isset($ _POST ['update']))條件。我想我不能,因爲他們是兩個不同的POSTS?我真的不知道......我只需要找到一種方法來獲取檢索到的表單數據的值並將其用於WHERE子句。
同樣,我很新的,剛開始我的腳溼用這種東西...任何幫助將是巨大的
感謝
我們都是新的一次。任何看着代碼和笑的人都會傲慢到危險的地步。歡迎來到網站設計的酷炫世界,祝您學習愉快! – 2011-06-01 03:43:58