如何为每个 PHP 循环创建一个从表数据中设置变量的循环
Posted
技术标签:
【中文标题】如何为每个 PHP 循环创建一个从表数据中设置变量的循环【英文标题】:How to create a for each PHP loop to set variables from table data 【发布时间】:2012-05-20 16:49:57 【问题描述】:php 初学者:
我有一个基于表格数据的表单,用户也可以添加任意数量的行,目前我正在调用我的 .php 中的数据,例如:
$para01 = $_POST["1_0"];
$url01 = $_POST["1_1"];
$para02 = $_POST["2_0"];
$url02 = $_POST["2_1"];
等等
我想要一种调用表格数据的方法,这样我就可以满足 x 行数
所以,我的伪代码是:
对于每一行,将单元格 id 0 应用于 $url 并将 id 1 应用于 $para 然后在一些 html 中回显 url 和 para 重复直到所有行都表达完毕。【问题讨论】:
【参考方案1】:您应该将 url 和 para 设为(二维)数组。然后,使用二维 for 循环遍历 _POST[] 变量。将值添加到数组中,并在必要时打印它们。
【讨论】:
【参考方案2】:你应该使用数组! 一个简单的方法是调用所有的 post 变量,然后用 php 对它们进行排序......
假设表单输入字段如下所示,我很快就为您完成了:
表单开始 网址1 第 1 段 网址2 第 2 段 网址3 第 3 段 等等……
提交 端形
$i=1;
$urls = array();
$paras = array();
foreach($_POST as $variable)
if($i==1)
array_push($urls,$variable);
$i++;
else
array_push($paras,$variable);
$i=1;
echo'<table><tr><td>';
foreach($urls as $url)
echo $url.'<br />';
echo'</td><td>';
foreach($paras as $para)
echo $para.'<br />';
echo'</td></tr></table>';
编辑
你可以像这样配对它们......
$_POST = array('url1','paragraph1','url2','paragraph2','url3','paragraph3');
$urls = array();
$paras = array();
$i=1;
$c=0;
foreach($_POST as $variable)
if($i==1)
array_push($urls,$variable);
$i++;
else
array_push($paras,$variable);
$i=1;
$c++;
echo'<table>';
for($x=0;$x<$c;$x++)
echo'<tr><td>'.$urls[$x].'</td><td>'.$paras[$x].'</td></tr>';
echo'</table>';
【讨论】:
谢谢你-我让它工作了,但是我如何在第一个 foreach 循环中获得 para,而不是分开它?每个索引的 url 和 para 都需要在循环中配对。 我编辑了上面...现在您可以将它们与行配对,您甚至可以给 td 一个 id...例如,是的,您可以将其用作数组。就像,
<input type="text" name="para[]" />
<input type="text" name="url[]" />
<input type="text" name="para[]" />
<input type="text" name="url[]" />
<input type="text" name="para[]" />
<input type="text" name="url[]" />
而在php中,你可以使用like
<?php
foreach($_POST[para] as $key=>$val)
foreach($_POST[url] as $key=>$val)
?>
【讨论】:
以上是关于如何为每个 PHP 循环创建一个从表数据中设置变量的循环的主要内容,如果未能解决你的问题,请参考以下文章
如何为所有 iphone 设备在同一行中设置多个 UIlabel
如何为这个在每个阶段都有移动平均线的 df 创建一个 while 循环? [复制]