我正在使用Dreamweaver,因爲我仍在學習PHP。Dreamweaver插入行,然後轉到詳細信息頁面
我有一個插入表單,我希望它指示我剛剛插入的記錄的詳細信息頁面。我在過去做過這些,但是,忘記了我是如何做到的,我傳遞了帶有記錄ID的url參數並在詳細信息頁面上找到了它。
這裏是我的插入代碼,任何幫助都會很棒。
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form")) {
$insertSQL = sprintf("INSERT INTO tl_courses (course_name, course_type, course_category, price_option, price, start_date, duration, location_option, country, region, town, postcode, results, awarding, content, requirements, additional, qualification) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['course_name'], "text"),
GetSQLValueString($_POST['course_type'], "text"),
GetSQLValueString($_POST['course_category'], "text"),
GetSQLValueString($_POST['price_option'], "text"),
GetSQLValueString($_POST['price'], "text"),
GetSQLValueString($_POST['start_date'], "date"),
GetSQLValueString($_POST['duration'], "text"),
GetSQLValueString($_POST['location_option'], "text"),
GetSQLValueString($_POST['country'], "text"),
GetSQLValueString($_POST['region'], "text"),
GetSQLValueString($_POST['town'], "text"),
GetSQLValueString($_POST['postcode'], "text"),
GetSQLValueString($_POST['results'], "text"),
GetSQLValueString($_POST['awarding'], "text"),
GetSQLValueString($_POST['content'], "text"),
GetSQLValueString($_POST['requirements'], "text"),
GetSQLValueString($_POST['additional'], "text"),
GetSQLValueString($_POST['qualification'], "text"));
mysql_select_db($database_dbconnect, $dbconnect);
$Result1 = mysql_query($insertSQL, $dbconnect) or die(mysql_error());
$insertGoTo = "dates_adder.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
謝謝,我不知道如何檢索ID,因爲它將是一個新的記錄,我假設我將不得不選擇具有最高號碼或ID的ID。 – monsterboy
那麼你可以使用mysql_insert_id(),但如果你運行一個高流量網站,並且已經有另一個插入發生,那麼你可能會得到錯誤的記錄。我已經爲我的答案添加了一個可能的SQL查詢。 – ajtrichards
再次感謝,select是否獲取所有記錄?因爲會有course_name重複。 – monsterboy