gpt4 book ai didi

php - 使用 PHP 发布多个 HTML 表单字段

转载 作者:行者123 更新时间:2023-11-29 00:50:47 25 4
gpt4 key购买 nike

我正在制作一个订购单,所有产品的数据都存储在 MySQL 数据库中。有一个包含 10 个项目的菜单页面,每个项目都有用于数量 (qty) 的自己的下拉列表

  • 我正在使用 PHP 生成 HTML 表单元素(例如输入文本字段)并显示项目。

  • 数据库已重新设计:Table1= User_Orders,Table2= Product_Data

  • 显示产品信息和连接到 MySQL 的所有代码是正常工作

我的显示代码:

form action="process.php" method="POST" name="menu"
//PHP
$system = 'SELECT * FROM products ORDER BY id ASC';
if(!$result2=mysql_query($system)){
die('Error encountered. MySQL said: '.mysql_error());
}
while ($rows2 = mysql_fetch_array($result2))
{
$id=$rows2['id'];
$gitem=$rows2['item'];
$gdesc=$rows2['description'];

$menu='<input name="qty1" type="text" class="textfield" id="qty1" value="'. $gitem .'" size="25"/>
<textarea name="desc1" cols="10" rows="3" class="textfield" id="desc1" style="width: 222px; height: 51px;">'.$gdesc .'</textarea>';
echo $menu; }
//END PHP, restart HTML
</form >

我的提交代码

//PHP
$submit=$_POST['submit'];
$sitem=$_POST['qty1'];
$sdesc=$_POST['desc1'];
$sql = "UPDATE products SET item='$sitem' ,description='$sdesc' , WHERE `id`='".mysql_escape_string($id)."'";

if($submit) //submit button is pressed
{
mysql_query($sql);
}

问题:当我提交表单时,只有最新/最新的行(具有最高 ID 的行)被更新。其他字段不受影响。

我对它发生的原因的看法:我注意到文本字段都共享相同的名称。这是因为 PHP 生成了 HTML。

问题:如何使用生成的 PHP 让每个文本字段都有自己唯一的名称? (例如,数量 1、数量 2)。

我的研究我考虑过使用数组:qty[]

是这样的: How to get multiple selected values of select box in php?

http://www.shotdev.com/php/php-form/php-input-multiple-textbox/comment-page-1/#comment-42091

请帮助我,我卡住了。

最佳答案

要么你可以使用 name[] 并在 php 中将参数作为数组获取

while ($rows2 = mysql_fetch_array($result2)) 
{
$id=$rows2['id'];
$gitem=$rows2['item'];
$gdesc=$rows2['description'];

$menu='<input name="qty[]" type="text" class="textfield" id="qty1" value="'. $gitem .'" size="25"/> <textarea name="desc[]" cols="10" rows="3" class="textfield" id="desc1" style="width: 222px; height: 51px;">'.$gdesc .'</textarea>';
echo $menu;

}

或者您可以在名称后附加一个计数。

$count = 1;
while ($rows2 = mysql_fetch_array($result2))
{
$id=$rows2['id'];
$gitem=$rows2['item'];
$gdesc=$rows2['description'];

$menu='<input name="qty' . $count . '" type="text" class="textfield" id="qty1" value="'. $gitem .'" size="25"/> <textarea name="desc' . $count . '" cols="10" rows="3" class="textfield" id="desc1" style="width: 222px; height: 51px;">'.$gdesc .'</textarea>';
echo $menu;
$count++;
}

关于php - 使用 PHP 发布多个 HTML 表单字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8633132/

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