【发布时间】:2017-09-26 09:00:09
【问题描述】:
我希望有人可以帮助我解决这个问题,因为我是 PHP 和 MySQL 的新手。但基本上,我要做的是从数据库中提取数据并填充下拉框和文本框,这样我就可以更新文本框中的值。
这是表结构:
id | hf_name | hf_price
------------------------
AI | test 1 | 123
AI | test 2 | 123
假设我想更新“测试 1”的价格,我会在下拉选择中选择“测试 1”并更新教科书中的价格。
这是我的代码:
<form class='data_form' action='data/food_update.inc.php' method='post'>
<select>
<?php while ($row = mysqli_fetch_array($result)):; ?>
<option><?php echo $row[1];?></option>
<?php endwhile;?>
</select>
<input type='number' name='hf_price' placeholder='$'>
<button type='submit'>UPDATE</button>
</form>
包括:
<?php
//CONNECTION TO MySQL
include '../dbh.php';
//VARIABLES
$hf_name = $_POST['hf_name'];
$hf_price = $_POST['hf_price'];
$by_user = $_SESSION['Fname'];
$up_date = date('Y-m-d');
$sql = "SELECT hf_name FROM hotfoods";
$result = mysql_query($conn, $sql);
?>
谢谢!
【问题讨论】:
-
停止使用已弃用的
mysql_*API。使用mysqli_*或PDO -
在您的
include中有mysql_query(),在您的实际代码中有mysqli_fetch_array()。我很确定它们不能一起使用,也许你打错了,意思是mysql_fetch_array()没有 i。但正如 Jens 所说,你应该停止使用 mysql_* 函数并切换到 PDO 或 mysqli 之类的东西。 -
也尝试使用从 0 开始的
<?php echo $row['hf_name'];?>PHP 数组,您正试图从索引 1 获取结果,我认为您的 SQL 查询中不存在该结果。 -
我不想回答包含“想要”这个词的问题。只是'说'。
-
是的,谢谢您指出这一点。这是一个错字,但即使我使用 mysqli,它仍然给我一个空的下拉框。
标签: php mysql arrays fetch dropdown