我的表格:
我正在创建一个基于网络的产品数据库,其中包含一个编辑页面,我目前有一个下拉菜单,显示存储在SQL数据库中的所有产品。在选择产品时,是否可以使页面上的文本框自动填充相应的数据?
任何有用的帮助。
我的编辑页面的代码如下:
<?php
session_start();
//CREATES & CHECKS MySQL CONNECTION
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn)
{
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT * FROM PRODUCTS LIMIT 0 , 30";
$result = mysqli_query($conn, $sql);
?>
<!-- HTML PAGE PROPERTIES -->
<div id="left"></div>
<div id="right"></div>
<div id="top"></div>
<div id="bottom"></div>
<div align="center"><h1>PRODUCT DATABASE</h1>
<div align="center"><a href="index.php">HOME <i class="fa fa-home" aria-hidden="true"></i></a><br>
<div align="left"><link rel="stylesheet" type="text/css" href="styleSheet.css">
<link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/font- awesome/4.4.0/css/font-awesome.min.css">
<?php
print "<h3>EDIT PRODUCT</h3>";
print "<p> <strong>SELECT PRODUCT: </strong>";
$conn = new mysqli()
or die ('Cannot connect to db');
$result = $conn->query("select ID, NAME from PRODUCTS");
echo "<html>";
echo "<body>";
echo "<select name='ID'>";
while ($row = $result->fetch_assoc()) {
unset($id, $name);
$id = $row['ID'];
$name = $row['NAME'];
echo '<option value="'.$id.'">'.$name.'</option>';
}
?>
</select>
<form method='POST'>
<h3>PRODUCT:</h3>
<input type='textbox' name='product' value='<?php echo $product['product'] ? >'>
<h3>ID:</h3>
<input type='textbox' name='id' value='<?php echo $product['id'] ?>'>
<h3>BARCODE:</h3>
<input type='textbox' name='barcode' value='<?php echo $product['barcode']; ?>'>
<h3>TYPE:</h3>
<select name="type">
<option value=""></option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
</select></p>
<input type='submit' value='Save Changes' name=submitform>
<?php
//WHEN EDIT BUTTON IS PRESSED, SEND EDITED VARIABLE VALUES TO MySQL
if (isset($_POST['submitform']))
{
}
答案 0 :(得分:0)
要使表单自动填充,您需要使用允许前端和后端/数据库之间进行通信的异步技术。当使用AJAX(或websockets)时,它允许通信而不必重新加载整个页面。这正是您正在寻找的功能。我建议使用AJAX。
看看这个post。