2011-10-29 67 views
0

任何人都可以指出我正確的方向?我真的很困惑(我是初學者:D)。 實施例:如果在數組中設置變量,則查找變量?

<form action="<?php $_server['php_self'] ?>" method=post> 
<table width="50%" style="border: 1px solid #999;" cellspacing="0" cellpadding="0"> 
    <tr> 
    <td width="35%"> 
     <input type="button" value="Add Subitem"> 
     <input type="button" value="Add Category"> 
    </td> 
    <td width="65%"> 
     <input type="hidden" name="row[]" value="1"> 
     <input type="text" name="categ[]" value="Sample Category" > 
    </td> 
    </tr> 
    <tr> 
    <td> 
     <input type="button" value="Add Subitem"> 
     <input type="button" value="Add Category"> 
    </td> 
    <td> 
     <input type="hidden" name="row[]" value="2"> 
     <input type="text" name="sub[]" value="Sample Subitem" > 
    </td> 
    </tr> 
    <tr> 
    <td> 
     <input type="button" value="Add Subitem"> 
     <input type="button" value="Add Category"> 
    </td> 
    <td> 
     <input type="hidden" name="row[]" value="3"> 
     <input type="text" name="categ[]" value="Sample Category" > 
    </td> 
    </tr> 
</table> 
<input type="submit" name="insBut" value="Save"> 
</form> 

如何可以遍歷行[]?並找到該行是否有類或子?我想這

$row = $_post['row']; 
$categ = $_post['categ']; 
$sub = $_post['sub']; 

for ($i=0;$i<count($row);$ii){ 
    if (isset($categ[$i])){ 
     $insQuery = pg_query("insert into rptdata_categ (blah blah) values (blah blah)"); 
    }elseif (isset($sub[$i])) { 
     $insQuery = pg_query("insert into rptdata_sub (blah blah) values (blah blah)"); 
    } 
} 

,但值是錯誤的,我試着用

echo $row[$i]."=".$categ[$i]; 

呼應它,它給

1=Sample Category 
2=Sample Category 
3= 

我知道它剛剛好,如果你想想看,但我怎麼能讓它像

1=Sample Category 
2= 
3=Sample Category 

哦,之前我忘記了用戶可以使用按鈕添加類別或子項目自己添加類別或子項目。

+0

在您的實際代碼中,$ ii是否讀取了$ i ++?因爲如果不是,這可能是你的問題(如果它解析的話) – DaveRandom

+0

它只是一個錯字:D – Gen

+0

所以你重新輸入它而不是複製/粘貼它?我不明白。 – pguardiario

回答

0

由於您已經有了所需的行號(在row[]),爲什麼不把它放在文本輸入的name中,並完全放下隱藏的行?

<td> 
    <input type="text" name="categ[1]" value="Sample Category" /> 
</td> 
... 
<td> 
    <input type="text" name="sub[8]" value="Sample Subitem" /> 
</td> 

依此類推。然後,您選擇的數組索引已經填充。

+0

我不知道有多少字段,這只是一個例子,用戶可以在任何地方插入一行,它可以是類或子...如果你點擊「添加類別」在第二行,將創建一行之間第一行和第二行,所以基本上當用戶點擊一個按鈕時,用戶點擊的那一行上將會創建一行。 。 。 – Gen

0

任何空數組字段將不會計入最終數組中。你只需要將行號添加到這些字段中,例如sub[1],sub[2] ..你知道第一個地方有多少個字段,所以你可以添加新的字段(JS右?)和正確的行ID,像設置基本字段(3)的數量作爲起始點,並且每次用戶單擊按鈕時,您都會推進var var