php试图接收未知数量的输入
应用程序类似于购物车。 我从一个ajax源(任何源都是相同的xD)和未知数量的服务(未知,因为它们在数据库中的数量在增长)。 它们由一个复选框表示,该复选框指示您是否需要该服务,然后它显示两个输入,一个禁用价格,另一个设置数量 问题是如何将它们全部发送到php进行处理(总价计算和数据库插入)。我使用了带括号的输入属性名称进行多次选择php试图接收未知数量的输入,php,jquery,html,select,input,Php,Jquery,Html,Select,Input,应用程序类似于购物车。 我从一个ajax源(任何源都是相同的xD)和未知数量的服务(未知,因为它们在数据库中的数量在增长)。 它们由一个复选框表示,该复选框指示您是否需要该服务,然后它显示两个输入,一个禁用价格,另一个设置数量 问题是如何将它们全部发送到php进行处理(总价计算和数据库插入)。我使用了带括号的输入属性名称进行多次选择 <select name="something[]">... ...</select> 。。。 我想知道是否有一种方法可以实现这样的目
<select name="something[]">... ...</select>
。。。
我想知道是否有一种方法可以实现这样的目标,但需要投入。
或者在mooitems中使用一些奇特的jquery插件-
以下是查看我的总失败尝试的页面:(
(您首先必须选择viaje,然后选择categoria,关联的服务将立即显示,最后调整adultos的数量,以便能够提交表单……很抱歉,流量是必需的:/)
请给我一些指导,一些可以阅读的东西,任何东西
thx。为什么不看看jquery serialize() 然后根据ajax调用的方法在PHP中迭代$_POST[]或$_GET[] 这也可能有用:
好的,因此如果您有多个要发送到服务器的项目,您必须构建HTML,使其看起来像以下内容(动态内容显示在方括号[]):
[服务名称]
您必须为由前缀(如服务或数量)和后缀(即该服务的ID)组成的输入构建名称,这样您就可以在PHP中检查它们
现在在PHP中,您可以执行以下操作:
<?
$prefix = "service_";
foreach ( $_POST as $name => $value )
{
if ( substr( $name, 0, strlen( prefix ) ) == $prefix )
{
$serviceId = $value;
$quantity = $_POST[ "quantity_$serviceId" ];
}
}
?>
在这里,您可以看到我在所有POST数据上创建了一个循环,试图查找以前缀service_u开头的字段名,一旦找到一个,我就知道它的值是服务ID。然后我可以使用服务ID来查找与所选服务ID一起发送的quantity_u[service_ID]字段
我希望这有帮助……是的,它也适用于输入元素。不需要更改。让我检查一下,也许会有帮助。-我想我在寻找一个没有JS的答案,这似乎是不可能的:/你可以随意发送它们……如果你真的提交表单而不是使用ajax,你不必使用JS。$\u POST或$\u GET将继续n提交表单时表单上所有具有名称属性的成功控件。第二个链接显示了如何使用php中数组中的键和值创建变量。问题是服务的名称确实相同:/。我是从php动态创建它们的,因此我的选项是给它们一个名称(所有选项都相同),而不是命名它们或动态创建一个没有任何意义的编号名称:/。这就是为什么我问有一种方法可以在select MULTIPLE中执行类似[]的操作我认为这是一种方法,但有点混乱
<?
$prefix = "service_";
foreach ( $_POST as $name => $value )
{
if ( substr( $name, 0, strlen( prefix ) ) == $prefix )
{
$serviceId = $value;
$quantity = $_POST[ "quantity_$serviceId" ];
}
}
?>