大家好我已经在下面创建了一个表单(entryform.php)来输入订单详细信息。 表单包含:part_id,price,model。 我已经创建了connect.php来连接数据库,custompcorder.php用于在order_details表和entryform.php中插入数据来输入数据。
以下是我想在entryform.php上做的事情: 1-将Part输入字段设为A下拉,获取零件名称,part_id从Parts表值保存为part_id,但在entryform上显示零件名称。 2-在下拉列表中选取零件后,我希望字段价格和模型自动填充零件表中的相应数据。自动填充将使用part_id来获取正确的数据。正如您在下面的表格中看到的那样,一次会输入很多行。
entryform.php
<?php
<form action="../action/custompcorder.php/" method="post">
<p>Part: <input type="text" name="part_id"/> Price: <input type="text" name="price"/> Model: <input type="text" name="model"/></p>
<p>Part: <input type="text" name="part_id2"/> Price: <input type="text" name="price2"/> Model: <input type="text" name="model2"/></p>
<input type="submit" value="Submit" /></form>
?>
connect.php
<?php
$dbhost = 'localhost';
$dbuser = 'user2';
$dbpass = 'password';
$dbname = 'db3';
$con=mysqli_connect($dbhost,$dbuser,$dbpass,$dbname);
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
?>
custompcorder.php
<?php
include_once '../action/connect.php';
$sql="INSERT INTO order_details (part_id, price,model)
VALUES
('$_POST[part_id]','$_POST[price]','$_POST[model]'),
('$_POST[part_id2]','$_POST[price2]','$_POST[model2]')";
?>
答案 0 :(得分:1)
首先,您的输入字段是文本,因此在那里没有意义。我会为它编写一个函数,因此您只需更改其中的查询即可。以下是此示例。
在评论中提出问题后编辑
您是否使用Google Chrome浏览器中的开发工具进行了检查?它显示了布局和CSS(第1部分,标记)。以及它是如何建立起来的。从那以后,您可以查看需要使用的功能。在您的情况下,您需要几个下拉菜单,您需要做一些数据库工作。
例如,假设您要显示RAM内存,并且您有一个名为models
的数据库,请确保您拥有partId, partPrice, partName and partType
。例如,如果您有RAM,并且它是RAM内存部分,请说您为其分配值1
。在您的情况下,您对下拉列表的查询将是(如上所述)
function LoadRAMParts(){
$query = "SELECT *
FROM models
WHERE partType = '1';
ORDER BY partName DESC;";
$resultaat=mysqli_query($query);
return $resultaat;
}
因此,您现在可以返回所有RAM内存部件,现在只需使用一点PHP将其加载到下拉菜单中
function MakeRAMMemoryDropDown(){ // define name of the php function and open the function
echo "<select name='RAMPartId' class='dropdown'>"; // open the dropdown with the name RAMPPartId
$results = LoadRAMParts(); // Load in the query from earlier
while($row = mysqli_fetch_array($results)){ // while lets it loop through your results as long as there are results
echo "<option value='".$row['partId']."'>" // the value for the ID when it's chosen
.$row['partName']."</option>"; // the name of the product the user sees
} // end of the loop
echo "</select>"; // end of the dropdown
} // end of the php function
您可以在顶部包含的单独文件中进行操作。 (我首先运行我的查询,然后创建下拉列表,否则它会变成冲突,因为我在下拉函数中调用的函数必须在下拉列表之前激活。对我来说它看起来像这样。
作为最后一部分,我希望我向你解释一下,你需要在函数中调用你想要使用它的PHP页面。这只是代码:
<?php MakeRAMMemoryDropDown() ?>
例如:
这就是动态加载你的内容。现在我使用不同类型的代码放置和生成contenct的不同想法,但对每个程序员来说它都是自己的风格。这就是我加载内容的方式。
关于你的装载价格问题,你必须使用AJAX(异步JavaScript和XML),但这不是我的一杯茶,我无法帮助你。抱歉。
我希望我向你解释,如果没有,我希望你能以另一种方式解决它。