带有循环的HTML表单并获取数组中的数据

时间:2014-12-12 14:14:46

标签: php forms loops

我需要解决这个棘手的问题。我希望我会得到你的解决方案。

我正在创建一个表单,我必须从这样的PHP for循环打印:

<form method="get">
<?php
for ($i=1; $i <= 5 ; $i++) { 
    echo "Name: <input name='name[]' type='text' value=''/> Your Age: <input name='age[]' type='text' value=''/> Your Qualification: <input name='Qualification[]'  type='text' value=''/>";
    echo "<br/>";           
}   
?>
<input type="submit" name="submit" value="Submit">

这将为每个值提供5个表格。

当用户将数据放入字段时,我需要做什么。

这就是我想要显示数据的方式:

你的名字是xyz 你的年龄是25岁 你的资格是aaaa。

这是我的代码:

print_r ($name);
echo "<br />";
print_r ($age);
echo "<br />";
print_r ($qualification);
echo "<br />";

foreach($_GET['name'] as $key => $value){
if (!empty($value)) {
        $name[]="your name is :". $value;    
    }
}
foreach($_GET['age'] as $key => $value){
    if (!empty($value)) {
        $age[]=$value; 

    }
}
foreach($_GET['Qualification'] as $key => $value){
    if (!empty($value)) {
        $qualification[]=$value;  

    }
}
$yourname=implode(",",$name);
$yourage=implode(",",$age);
$yourqua=implode(",",$qualification);
echo $yourname . $yourage . $yourqua;
?>

这就是我得到的:

your name is :xyz,your name is :abc25,14abc,dfg

它是这样的但是,我需要第一行正确地给出输出,然后是下一行,然后是下一行。

1 个答案:

答案 0 :(得分:1)

用此替换你的

$array = array();
$int i = 0;
foreach($_GET['name'] as $key => $value){
    if (!empty($value)) {
        $array[$i]["name"] =$value; 
        $i++;
    }
}
$i=0;
foreach($_GET['age'] as $key => $value){
    if (!empty($value)) {
         $array[$i]["age"] =$value; 
         $i++;
    }
}
$i=0;
foreach($_GET['Qualification'] as $key => $value){
    if (!empty($value)) {
         $array[$i]["qualification"] =$value; 
        $i++;
    }
}
foreach($array as $key=>$value)
    echo $value["name"]." (".$value["age"].") = ".$value["qualification"]."<br/>";
}