【发布时间】:2018-03-12 17:15:04
【问题描述】:
我正在练习使用 HTML/PHP/MySQL,并且正在做一个小项目。
我想创建一个允许用户将记录添加到 MySQL 表的页面。用户将通过 HTML 表单输入值。然后将这些数据发布到 php 脚本以执行实际的 INSERT INTO。
该数据库用于商店,有 2 个表,产品和制造商。添加产品时,我还必须添加制造商的代码。我想填充一个下拉列表,显示制造商的名称(取自制造商表)。
我正在尝试将此 PHP 代码嵌入到 HTML 文件中。代码如下:
<form action="" method="post">
<fieldset>
<legend>Enter Product Details:</legend>
Product Name:<input type="text" name="productName"><br>
Product Price:<input type="text" name="Price"><br>
<?php
$host="localhost";
$user="root";
$pass="";
$db="computer_shop";
$conn=mysqli_connect($host,$user,$pass,$db) or die ("Couldn't connect");
$sql="SELECT * FROM manufacturer";
$result=mysqli_query($conn,$sql) or die ("Could not execute query!");
if(!$result){
echo"Error with results";
}
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
$code=$row["Code"];
$name=$row["Name"];
echo"<select name='select'>";
echo"<option value=" .$code.">".$name."</option>" ;
<echo"</select>";
}
echo "<br>";
} else {
echo "0 results";
}
mysqli_close($conn);
?>
<input type="submit" value="Submit">
</fieldset>
</form>
当我尝试这样做时,它并不顺利。当我加载页面时,表单的初始部分(名称和价格的输入框很好),但下拉列表一团糟,我看到代码:“0){ while($row = mysqli_fetch_assoc( $result)) { $code=$row["Code"]; $name=$row["Name"]; echo" 以及仅显示 $name 的下拉列表,然后是提交按钮。因此 HTML 文件显示了实际 PHP 代码的一部分。
我的问题是,我该如何解决这个问题,以便下拉列表显示 mysql 数据库中的值?我一直在浏览各种网站,尝试不同的东西,但我一直遇到类似的问题。我应该翻转一些东西,而是将 HTML 嵌入到 PHP 文件中吗?
【问题讨论】:
-
如果显示php代码,那么要么你没有安装php,要么文件没有配置为php解析。
-
谢谢,我将其转换为 PHP 文件,并将 HTML 标签放在 echo 语句中。摆脱了那个错误并让它现在工作,谢谢。
标签: php html mysql drop-down-menu