gpt4 book ai didi

php - 从另一个表创建下拉列表到我的更新/删除/添加表中

转载 作者:行者123 更新时间:2023-11-29 13:24:36 25 4
gpt4 key购买 nike

我是一名新手,正在为学校做一个项目

我有一个列出食物的网站。

我有一个更新表,允许我更改和添加数据。

对于食物组字段,我让它交叉引用另一个名为 food_group 的表,该表具有 food_group(name) 和 id。

当您查看食物数据时,您可以看到它提取的名称而不是 ID。在更新页面上,我希望在 ID 的位置有一个下拉菜单。因此,您可以看到“友好”名称而不是 ID 号,但它必须在食物表中存储 ID 而不是友好名称。

网站可以在http://web.nmsu.edu/~jrortiz/ICT458/FINAL/找到

我的代码是:

<html>
<head>
</head>
<body>
<?php
$con = mysqli_connect("localhost","user","pw","db");
if (!$con){
die("Can not connect: " . mysql_error());
}


if(isset($_POST['update'])){
$UpdateQuery = "UPDATE food SET food_group='$_POST[Food_group]', food='$_POST[Food]', ph='$_POST[PH]' WHERE food='$_POST[hidden]'";
mysql_query($UpdateQuery, $con);
};

if(isset($_POST['delete'])){
$DeleteQuery = "DELETE FROM food WHERE Food='$_POST[hidden]'";
mysql_query($DeleteQuery, $con);
};

if(isset($_POST['add'])){
$AddQuery = "INSERT INTO food (Food_group, Food, PH) VALUES ('$_POST[addGroup]','$_POST[addFood]','$_POST[addPH]')";
mysql_query($AddQuery, $con);
};



$sql = "SELECT * FROM food";
$myData = mysqli_query($con,$sql);
echo "<table border=1>
<tr>
<th>Food Group</th>
<th>Food</th>
<th>PH</th>
<th>Update/Add</th>
<th>Delete</th>
</tr>";
while($record = mysqli_fetch_array($myData)){
echo "<form action=updateFood.php method=post>";
echo "<tr>";
echo "<td><input type='text' name='Food_group' value='$record[food_group]'/></td>";
echo "<td><input type='text' name='Food' value='$record[food]'/></td>";
echo "<td><input type='text' name='PH' value='$record[ph]'/></td>";
echo "<td><input type='submit' name='update' value='update'/></td>";
echo "<td><input type='submit' name='delete' value='delete'/></td>";
echo "<td><input type='hidden' name='hidden' value='$record[food]'/></td>";
echo "</tr>";
echo "</form>";
}
echo "<form action=updateFood.php method=post>";
echo "<tr>";
echo "<td><input type='text' name='addGroup'></td>";
echo "<td><input type='text' name='addFood'></td>";
echo "<td><input type='text' name='addPH'></td>";
echo "<td><input type='submit' name='add' value='add'/></td>";
echo "</tr>";
echo "</form>";
echo "</table>";
mysql_close($con);
?>

</body>
</html>

____________ 更新时间:2013 年 12 月 2 日晚上 10:30 _________< em>__________好的,如果我创建一个如下所示的新 php 页面,它将起作用。但是,我不知道如何将其合并到上面的原始内容中......任何人都可以帮忙吗?

<html>
<head>
</head>
<body>
<?php

// Connect to the database server
$con = mysql_connect("localhost","user","pw");
if (!$con){
die("Can not connect: " . mysql_error());
}
mysql_select_db("db",$con);

$sql2="SELECT id, food_group FROM food_group";
$result = mysql_query($sql2,$con) or die(mysql_error());
while ($row = mysql_fetch_array($result)) {
$type=$row["food_group"];
$options.= '<option value="'.$row['id'].'">'.$row['food_group'].'</option>';
};?>

<SELECT NAME=Food_group>
<OPTION VALUE=0>Choose</OPTION>
<?php echo $options; ?>
</SELECT>
</body>
</html>

感谢您的所有帮助!杰森

最佳答案

你的脚本很好,但我只想指出以下几点:

无需连接

"<td>" . "<input type=text name=Food_group value=" . $record['food_group'] . "         </td>"; 

你可以这样输入:

echo "<td><input type=text name=Food_group value='$record[food_group]'</td>"; 

您还错过了关闭输入标签

echo "<td><input type=text name=Food_group value='$record[food_group]' /></td>"; 

另一个是你需要引用你的属性值,见下文

echo "<td><input type='text' name='Food_group' value='$record[food_group]'</td>"; 

最后一件事是你对 SQL 注入(inject)持开放态度,所以你应该开始学习 mysqli 和准备好的语句

关于php - 从另一个表创建下拉列表到我的更新/删除/添加表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20318199/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com