我在我的數據庫中有2個表。類別和產品。在類別中有2個字段。 catid和catname。產品中還有3個領域。 id,catid和名稱。需要PHP和MySQL幫助
在我的提交表格中,我將這個catname放入一個扇區。我想要做的是獲取選擇器的值並將catid保存到產品表catid字段中。而不是類別名稱。任何人都可以解釋我如何做到這一點。提前致謝。
下面是提交表單的代碼。
include("db.php");
$result = mysql_query("SELECT * FROM categories")
or die (mysql_error());
?>
<!--SubmitForm-->
<form method="post" action="add_products.php">
<select name="cat">
<?php
while($row = mysql_fetch_array($result))
{echo "<option value='".$row[catid]."'>".$row[catname]."</option>";}
?>
</select><br/>
<input type="text" name="name" value=""><br/>
<input type="submit" value="submit"/>
</form>
add_products.php代碼
<?php
include("db.php");
$cat = $_POST['catid'];
$query = "SELECT * FROM categories WHERE catname='$cat'";
$result= mysql_query($query) or die ('Mysql Error');
while($row = mysql_fetch_array($result)){
$catn = $row['catid'];
}
$name = mysql_real_escape_string($_POST['name']);
$query="INSERT INTO products(catid, name)VALUES ('".$catn."','".$name."')";
mysql_query($query) or die ('Error Updating');
echo "Product Added";
?>
您的表單元素名稱不匹配您的$ _POSTs,並且$ _POST ['catid']未被注入保護 –
那麼有什麼不起作用?你是否收到錯誤信息?發表它。 – Thilo
選擇框的名稱與您從$ _POST數組中提取的內容不匹配。也沒有名爲「商店」的輸入,所以你也會在那裏遇到麻煩。 – Backlin