2011-04-21 80 views
0

我目前正在建設一個web應用程序,有一個部分,在那裏用戶看到的圖表(已經從拉的休息一個圖表數據庫),並提示回答幾個問題。一旦用戶提交了他/她的輸入,我想在同一頁面上顯示他/她的答案和建議的答案。的最佳方式,在同一頁上顯示,同時保留頁面

我已經建立的大部分功能了,但我不知道什麼是最好的方法用於顯示兩個用戶答案,並在同一頁上的參考答案。現在(如下所示),我使用了一個很大的if語句來檢查表單是否已提交,如果是,顯示最後一個用戶提交的答案和建議的答案。如果表格尚未提交,則會顯示圖表。

問題是,一旦表單被提交(語句的其他部分),用戶仍應該看到圖表。我想我可以重新顯示圖表,方法是將ID存儲在$ _SESSION中,然後再次將其拖入else語句中,但看起來很笨重。有人可以推薦做什麼,這將是最好的方法(我願意使用jQuery或AJAX雖然我不得不讓自己加快速度對他們的)?

if(!isset($_POST['submit'])) 
    { 
     // some code to determine which chart to pull 

     if(mysql_num_rows($query)) 
     { 
      while($result = mysql_fetch_array($query)) 
      { 
       $dir = "images/"; // set directory variable 

       // open the directory 
       if($opendir = opendir($dir)) 
       { 
        // display the chart to the user 

       } 
      } 

      // update db table to note that user has seen this problem 

     ?> 
     <!-- ask for insights --> 
     <form action="charts.php" method="POST"> 

      <input type="text" name="insight[]" placeholder="insight goes here!" /> 
      <input type="text" name="insight[]" placeholder="more goes here!" /> 
      <input type="text" name="insight[]" placeholder="don't give up yet" /> 
      <input type="submit" name="submit" value="Submit data" /> 
     </form> 

     <?php 
     } 
     else // throw an error if all questions have been done! 
      { 
       bringBacktogo($id, $p_type, $count); 
      } 
    } 

    else 
    { 

      // some code to show suggested chart insights 

      // some code to pull user answers from form above and show them 
    } 
+1

移動你的表單處理程序到不同的頁面,並使用AJAX?這可能聽起來過於簡單,但你的問題有點寬泛。 – HurnsMobile 2011-04-21 14:13:51

回答

0

試試這個jQuery的,做所有的東西在targetPage.php

$("#targetDiv").load("targetPage.php",$("#form").serializeArray()); 
+0

謝謝Sourav。我沒有用想象中的那麼實現,但AJAX和jQuery是解決一個很好的結合。 – 2011-04-22 18:27:29

相關問題