我正在尝试通过$_POST
方法解析数组的单行,但是该行有多个属性。请参考以下代码:
<?php
$propertiesSQL = mysql_query("SELECT id, name FROM property_name WHERE cat_id = $mainid");
?>
<table>
<form action="newadvert.php" method="post">
<?php
while ($propertynames = mysql_fetch_array($propertiesSQL)){
?>
<tr>
<td><?=($propertynames[1])?></td>
<td><input name="<?=($propertynames[1])?>" type="text" id=""></td>
</tr>
<?php
}
?>
<tr>
<td colspan=2><input type="submit" name="submit" value="Verzenden"></td>
</tr>
</form>
</table>
我要做的是使用$propertynames[1]
方法在newadvert.php文件中检索该数组$_POST
,并将其所有属性分配给不同的字符串,以便我可以轻松地使用它们单独一点。可能是因为我使用了一种完全错误的方法来使用它,所以我很乐意采用不同的方法来实现这一点。
提前感谢您的帮助。
答案 0 :(得分:0)
添加像这样的增量器
<?php
$i=0; //An incrementer variable
while ($propertynames = mysql_fetch_array($propertiesSQL)){
?>
<tr>
<!-- Access it as $properynames[$i] instead of #propertynames[1] -->
<td><?=($propertynames[$i])?></td>
<td><input name="<?=($propertynames[$i])?>" type="text" id=""></td>
</tr>
<?php
$i++;//Increment here
}
?>
答案 1 :(得分:0)
试试这个:
<?php
$propertiesSQL = mysql_query("SELECT id, name FROM property_name WHERE cat_id = $mainid");
?>
<table>
<form action="newadvert.php" method="post">
<?php
while ($propertynames = mysql_fetch_array($propertiesSQL)){
?>
<tr>
<td><?=($propertynames['name'])?></td>
<td><input name="<?=($propertynames['name'])?>" type="text" id=""></td>
</tr>
<?php
}
?>
<tr>
<td colspan=2><input type="submit" name="submit" value="Verzenden"></td>
</tr>
</form>
</table>
Use associative array here.
答案 2 :(得分:0)
好吧,所以我找到了问题的解决方案。
<?php
$propertySQL = mysql_query("SELECT id, name FROM property_id WHERE cat_id = $mainid");
?>
<table>
<form action="newadvert.php" method="post">
<?php
while ($propertynames = mysql_fetch_array($propertySQL)){
?>
<tr>
<td><?=($propertynames['id'])?></td>
<td><input name="name<?=($propertynames['id'])?>" type="text" id=""></td>
</tr>
<?php
}
?>
<tr>
<td colspan=2><input type="submit" name="submit" value="Submit"></td>
</tr>
</form>
</table>
请注意对文本框的更改:input name="name<?=($propertynames['id'])?>"
然后,在newadvert.php文件中,我再次执行propertySQL,并创建一个while循环来匹配所有内容:
$propertySQL = mysql_query("SELECT id, name FROM property_name WHERE cat_id = $mainid");
while ($propertyids = mysql_fetch_array($propertySQL)){
$propid = $propertyids[0];
echo 'name' . $propid . '<br />';
$input = $_POST['name'.$propid];
echo $input . "<br />";
}
我从未知道在&lt;之前检索$_POST
时可以添加变量。&lt;
无论如何,感谢您的帮助,这是因为你们,我有这样的想法:)