我可以使HTML表单加载MySQL数据吗?

时间:2016-06-08 15:47:34

标签: php html mysql mysqli

我的表格:

enter image description here

我正在创建一个基于网络的产品数据库,其中包含一个编辑页面,我目前有一个下拉菜单,显示存储在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&nbsp; <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>&nbsp;<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']))

{


}     

1 个答案:

答案 0 :(得分:0)

要使表单自动填充,您需要使用允许前端和后端/数据库之间进行通信的异步技术。当使用AJAX(或websockets)时,它允许通信而不必重新加载整个页面。这正是您正在寻找的功能。我建议使用AJAX。

看看这个post