我正在使用我构建的应用程序进入墙。我是PHP的新手(不到1个月),我在导师的帮助下写了一个非常复杂的表格。由于保密协议,我不能在这里发送我的整个代码作为例子。具体来说,我遇到的问题是我的表单无法将多个值发送到两个不同的输入“插槽”。它会向数据库发送一个单一的输入值,但它应该记录输入的不同值。
<?php
{
foreach($results['tags'] as $part){
if ($part['category'] == "Part"){
?>
<tr>
<td><?= $part['Part']; ?></td>
<td class="text-center"><?= $product['Amount']; ?></td>
<td><input type="text" name=$product['Val1'] /></td>
<td><input type="text" name=$product['Val2'] /></td>
</tr>
<?php
}
}
}
?>
我的导师建议这是一个答案,但我不确定他的意思: “似乎[val1 / 2]需要与产品而不是交易挂钩。现在,它不在”标签“部分内。这有意义吗?”
答案 0 :(得分:1)
您正尝试使用$
命名您的变种。我想你想在那里输出php值,所以把你的字符串改成这样:
<td><input type="text" name="<?= $product['Val1'] ?>"/></td>
答案 1 :(得分:1)
&#34; $&#34;表示PHP变量,因此它需要在php标记内。还记得用引号(&#34;)包围echo值。
<?php
foreach($results['tags'] as $part) {
if ($part['category'] == "Part") {
?>
<tr>
<td><?= $part['Part']; ?></td>
<td class="text-center"><?= $product['Amount']; ?></td>
<td><input type="text" name="<?= $product['Val1']; ?>" /></td>
<td><input type="text" name="<?= $product['Val2']; ?>" /></td>
</tr>
<?php
}
}
?>
答案 2 :(得分:1)
答案是我需要迭代它们,因为它们不是数组并将它们附加到字符串中。
这要归功于@SonnY
<script type="text/javascript">
function sendData() {
var inputs = document.getElementById('equipment-table').getElementsByTagName('input'),
data = [],
name, val1, val2;
for (var i = 0; i < inputs.length; i++) {
if ( inputs[i].type === 'submit') {
continue;
}
if ( inputs[i].value ) {
name = inputs[i].name.split('-val');
val1 = inputs[i].name.split('val1');
if (val1.length > 1) {
data.push({name: name[0], val1: inputs[i].value});
}
else {
data.push({name: name[0], val2: inputs[i].value});
}
}
}
window.setTimeout(function() {
sendData();
},30000);
}
sendData();
答案 3 :(得分:0)
圣诞快乐
因为,提供的数据并不多。我假装在我身边。希望它有所帮助。
将值放在value
属性中。将名称命名为数组类型。与Slot1[]
,Slot2[]
相似..
因为,Val1
可能有多个值,所以name是数组类型。
<form action='SubmitSomePage.php' method='POST'>
<?php
{
foreach($results['tags'] as $part)
{
if ($part['category'] == "Part")
{?>
<tr>
<td><?= $part['Part']; ?></td>
<td class="text-center"><?= $product['Amount']; ?></td>
<td><input type="text" value="<?=$product['Val1'];?>" name='Slot1[]'/></td>
<td><input type="text" value="<?= $product['Val2'];?>" name='Slot2[]' /></td>
</tr>
<?php
}
}
}
?>
.
.
<input type='submit' value='Submit Details'>
</form>
<强> SubmitSomePage.php 强>
<?
$slot1 = $_POST['Slot1'];
$slot2 = $_POST['Slot2'];
$TotalSlot1 = sizeof($slot1);
for($i = 0; $i<$TotalSlot1;$i++)
{
$slot1Value = $slot1[$i];
$slot2Value = $slot2[$i];
$Query = "INSERT INTO TableName Set Val1='$slot1Value', Val2='$slot2Value'";
//Execute Query Here.
}
?>