2012-03-07 92 views
0

拉動simplexml並將它們解析爲php變量。我有一個數組在他們的表單。我想要一個窗體外的按鈕,它將「基本上」轉換爲相同的窗體,但使用下一個數組編號。 IE:php或javascript抓住按鈕上的下一個數組

<? 
    if($xml = simplexml_load_file('my.xml')) { 
     foreach($xml as $SAVED_EXPORT) { 
      $mfg = $SAVED_EXPORT->productmanufacturer; 
     } 
    } 
?> 

<form id="myform" method="post" action="coderdb.php"> 
    <input type="text" value="<? echo $mfg[0] ?>" name="MFG" /> 
    <input type="submit" /> 
</form> 

我想要一個按鈕,說NEXT,當點擊它會拉起下一個數組即將。 $mfg[1]。我相信頁面將不得不重新加載,這很好。我讀了一些地方,我可能不得不使用$key,但從來沒有用過,我不完全確定它在我這裏需要什麼。

回答

0

你需要一些JavaScript使用JQuery。

<script type="text/javascript"> 
    $(function(){ 
     var array = []; 
<? 
    if($xml = simplexml_load_file('my.xml')) { 
     $i=0; 
     foreach($xml as $SAVED_EXPORT) { 
      $mfg = $SAVED_EXPORT->productmanufacturer; 
     } 
    } 
    foreach($mgf as $key=$value) { 
     // if $key in not numeric then add iterator for this foreach 
     echo "array[$key]=$value"; 
    } 
?> 
     iterator = 0; 
     $('#nextExport').click(function(){ 
      var theInput = $('#setExport'); 
      // theInput.attr('val',array[iterator]);  
      theInput.val(array[iterator]); 
      if(iterator==array.length) { 
        iterator = -1; 
      } 
      iterator++; 
     }); 
    }); 
</script> 

<form id="myform" method="post" action="coderdb.php"> 
    <input type="text" id="setExport" value="<? echo $mfg[0] ?> name="MFG" /> 
    <input type="button" id="nextExport" value="Next Export" /> 
    <input type="submit" /> 
</form> 

我希望這會有所幫助。如果出現問題檢查語法,邏輯是正確的。

0

您需要一種跟蹤您所處的數組索引的方法,因爲截至目前您只能將其設置爲靜態數字0。所以如果你添加一個隱藏的表單,你可以讓它發佈你當前的值,然後使用PHP,你可以在顯示新表單之前增加它。你的表單也應該指向它所在的PHP文檔。

<? 
    if($xml = simplexml_load_file('my.xml')) { 
     foreach($xml as $SAVED_EXPORT) { 
      $mfg = $SAVED_EXPORT->productmanufacturer; 
     } 
    } 
    if(isset($_POST["index"])) $index = $_POST["index"] + 1; 
    else $index = 0; 
?> 

<form id="myform" method="post" action="coderdb.php"> 
    <input type="hidden" value="<? echo $index ?>" name="index" /> 
    <input type="text" value="<? echo $mfg[$index] ?>" name="MFG" /> 
    <input type="submit" /> 
</form>