如何將客戶端表單中的數據添加到數據庫中的不同表中?我的情況是這樣的,我有三種形式的客戶端,第一種是用於書籍物品(精裝本,雜誌等),第二種用於音樂項目(CD,卡帶等),第三種用於電影項目(dvd ,VHS等)。將數據添加到數據庫中的不同表中
用戶應該能夠輸入任何形式的細節,然後數據應該填充在數據庫中的正確表格中。
任何想法傢伙或腳本隨時可用?我需要它是可擴展的,所以它應該能夠處理多個請求而不會減速或導致很多錯誤(我不介意調試一些:))。我也必須考慮誰發佈了什麼使系統可擴展。
哦,我是一個前端設計師,而不是exp exp核心軟件應用程序的web程序員工程師編碼員。
設置: PHP MySQL的 JS HTML
所有幫助歡迎。
我很抱歉傢伙!目前的代碼是書如下,其同樣爲音樂和電影:
<?php
//Start session
session_start();
//Include database connection details
require_once('../config.php');
//Array to store validation errors
$errmsg_arr = array();
//Validation error flag
$errflag = false;
//Connect to mysql server
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if(!$link) {
die('Failed to connect to server: ' . mysql_error());
}
//Select database
$db = mysql_select_db(DB_DATABASE);
if(!$db) {
die("Unable to select database");
}
//Function to sanitize values received from the form. Prevents SQL injection
function clean($str) {
$str = @trim($str);
if(get_magic_quotes_gpc()) {
$str = stripslashes($str);
}
return mysql_real_escape_string($str);
}
//Sanitize the POST values
$isbn = clean($_POST['isbn']);
$bookTitle = clean($_POST['bookTitle']);
$author = clean($_POST['author']);
$genre = clean($_POST['genre']);
$year= clean($_POST['year']);
//Input Validations
if($isbn == '') {
$errmsg_arr[] = 'ISBN missing';
$errflag = true;
}
if($bookTitle == '') {
$errmsg_arr[] = 'Book Title missing';
$errflag = true;
}
if($author == '') {
$errmsg_arr[] = 'author missing';
$errflag = true;
}
if($genre == '') {
$errmsg_arr[] = 'Genre missing';
$errflag = true;
}
if($year == '') {
$errmsg_arr[] = 'Year missing';
$errflag = true;
}
//Check for duplicate login ID
if($isbn != '') {
$qry = "SELECT * FROM books WHERE isbn='$isbn'";
$result = mysql_query($qry);
if($result) {
if(mysql_num_rows($result) > 0) {
$errmsg_arr[] = 'Book and ISBN ID already in system';
$errflag = true;
}
@mysql_free_result($result);
}
else {
die('Query Failed: ' . mysql_error());
}
}
//If there are input validations, redirect back to the registration form
if($errflag) {
$_SESSION['ERRMSG_ARR'] = $errmsg_arr;
session_write_close();
die('Query Failed: ' . mysql_error());
header("location: addMedia.php");
exit();
}
//Create INSERT query
$qry = "INSERT INTO books(isbn, title, author, genre, year) VALUES('$isbn','$bookTitle','$author','$genre','$year')";
$result = @mysql_query($qry);
//Check whether the query was successful or not
if($result) {
header("location: bookAdded.php");
exit();
}else {
die('Query Failed: ' . mysql_error());
} ?>
你可以得到它的形式提交了它的名字(HTML表單的name屬性),即'如果($ _ POST ['booksForm ']){/ * insert into books table * /} elseif($ _ POST ['musicForm']){/ * insert into music table * /} elseif($ _ POST ['moviesForm']){/ * insert into movies table * /}'。你有什麼要展示的嗎? – enenen 2013-04-11 12:02:11
嘿,歡迎來到SO。此網站通常用於在您嘗試了幾件事情但未能解決問題後遇到的具體問題。如果您告訴我們您已經嘗試了什麼,這也很好。在這種情況下,我建議您閱讀一般的Web開發,或者聘請編碼人員,如果它是一個商業項目。 – KillerX 2013-04-11 12:02:44
它確實有效,但是問題應該是:我不知道哪個用戶添加了什麼,當爲了當前登錄的用戶而將結果顯示回客戶端時,這也會令人困惑。 – ParttimeCoder 2013-04-11 12:20:00