[英]Can I add values to a MySQL table via a form based on a match between values in a textbox and values in a column in the table?
我有一個包含許多列的MySQL表,其中包括一個名為“名稱”的列。
我想為一個包含兩個文本框A和B的網頁設計一個表單。在文本框A中,要求用戶輸入其名稱,在文本框B中,需要輸入一些其他信息。
我希望PHP腳本檢查Textbox A中的Name是否與MySQL表的Name列中已有的值匹配,如果匹配,則將Textbox B中的值添加到該表的另一列中。 如果未找到名稱,我希望腳本返回錯誤,類似於“在我們的數據庫中未找到您的預訂”。
是否可以使用PHP / MySQL進行此操作,如果可以,我將如何處理?
當前代碼
$row_count = count($_POST['name']);
mysql_select_db($database, $connection);
if ($row_count > 0) {
$values = array();
for($i = 0; $i < $row_count; $i++) {
// variable sanitation...
$name = mysql_real_escape_string(ucwords($_POST['name'][$i]));
$workshop = mysql_real_escape_string($_POST['workshop'][$i]);
$query = "SELECT * FROM conference WHERE Name = '$name' ";
$result = mysql_query($query);
if ($result) {
$rowcount = mysql_num_rows($result);
if ($rowcount == 0) {echo "no bookings found"; }
else {
$row = mysql_fetch_row($result);
$sql = "UPDATE conference SET Workshop = '$workshop' WHERE Name = '$name'";
mysql_query($sql);
}
}
}
}
這應該使您入門。
//Get the value from the textbox
$name = mysql_real_escape_string($_POST['name']);
//Select all rows with the name
$query = "SELECT other_info FROM table1 WHERE name = '$name' ";
$result = mysql_query($query);
if ($result) {
$rowcount = mysql_num_rows($result);
//No rows found
if ($rowcount == 0) {echo "no bookings found"; }
else {
//process the data.
$row = mysql_fetch_row($result);
$other_info = $row['other_info'];
echo "other_info = ".hmtlentities($other_info);
參見此處: http : //php.net/manual/zh/book.mysql.php
對代碼的注釋
$row_count = count($_POST['name']);
if ($row_count > 0) {
mysql_select_db($database, $connection);
//$values = array();
$name = array();
$workshop = array()
$replace = array()
for($i = 0; $i < $row_count; $i++) {
// variable sanitation...
$name[i] = mysql_real_escape_string(ucwords($_POST['name'][$i]));
$workshop[i] = mysql_real_escape_string($_POST['workshop'][$i]);
//if you use option 2
$replace[i] = "('".$name[i]."','".$workshop[i]."')";
}
$names = "'".implode("','",$name)."'";
$query = "SELECT 1 FROM conference WHERE Name IN $names ";
$result = mysql_query($query);
if ($result) {
$rowcount = mysql_num_rows($result);
if ($rowcount == 0) {
echo "<HTMLCODE HERE>"."no bookings found"."<MORE HTML>";
//OPTION 1
} else {
for($i = 0; $i < $row_count; $i++) {
//$row = mysql_fetch_row($result);
$sql = "UPDATE conference SET Workshop = '$workshop[i]'
WHERE Name LIKE '$name[i]'";
mysql_query($sql);
}
}
//OPTION2
} else {
$replacement = implode(",",$replace);
$sql = "REPLACE INTO conference (names, workshop) VALUES $replacement "
mysql_query($sql);
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.