2013-08-30 64 views
0

我有以下代碼,它包含更多行,每個都有一個選擇列表。我需要收集結果並通過提交。 問題是我不知道會有多少行,所以我需要使用for循環。 這種方式我不能引用$ _POST ['anything'],因爲它在每個循環中覆蓋自身。 請幫忙。For循環窗體選擇獲取結果

<?php 
print"<table class='pairs'>"; 
print"<tr>"; 
print"<td>"; 
print "<Form name='form5' method='post'>"; 
$numcols=4; 
$sqlheaders=array("foo", "bar", "hallo", "world"); 
for($q=0;$q<$numcols;$q++) 
{ 
    print "<tr>"; 
    print "<td>"; 
    print "sel_".$q;  
      print "</td>"; 
    print "<td>"; 
    print "no such data"; 
    print "</td>"; 
    print "<td>"; 
    print "<Select name='sel_'.$q????>"; 
    print "<option value='default'>...Choose</option>"; 

    foreach ($sqlheaders as $sqlheader) 
     { 
     print "<option value='sqlheader_'".$sqlheader."> $sqlheader</option>"; 
     } 
    print "</select>"; 
    print "</td>"; 
    print "</tr>"; 

} 
print "<tr>"; 
print "<td>"; 
print "<Input type='hidden' name ='numcols' value ='$numcols' >"; 
print "<input type='submit' name='submit_uploadpairs' value='Mehet'/>"; 
print "</td>"; 
print "</tr>"; 
print "</Form>"; 

for($i=0;$i<$numcols;$i++) 
{ 
    $result=$_POST['sel_'?????]; 
    echo $result; 
    echo "<br>"; 
} 

?>

回答

2

僅舉他們的東西....

print "<Select name='Dropdowns[$q]'>"; 

然後在你其他循環...

for($i=0;$i<$numcols;$i++) 
    { 
    $result=$_POST['Dropdowns'][$i]; 
    echo $result; 
    echo "<br>"; 
} 
+0

非常感謝你! :) – Dgloria

+0

再次嗨!有沒有辦法說明'Dropdowns [$ q]'中有多少物品?我的意思是,$ q的初始值等於$ numcols,但正如我所看到的選擇不傳遞默認值(例如,如果你不改變任何列表元素)。因此,我可以獲得小於$ numcols。謝謝! – Dgloria