2012-02-02 7 views
1

私はバックエンドとしてMySQLデータベースを使ってjQuery MobileとPHPを使って学生の進歩的なカードアプリケーションを開発する予定です。これは主に教師が修正した試験用紙のマークをデータベースに記録するために使用されます。学生プログレスカードJQM&PHPでのアプリケーション - リストアイテム変数を別のページに渡すには?

Iは、生徒のリストをstudentlist.phpにMySQLのDBから抽出され

(以下に示す)studentlist.phpにおける生徒のリストとscoresheet.phpにおける種々の対象マークエントリでスコアシートを有する

リスト項目(「Student1」など)をクリックすると、scoresheet.phpに移動します。

scoresheet.phpで行われたすべてのエントリは、学生1

のためにデータベースに保存する必要があり、私が使用してscoresheet.phpする各リスト項目の値を作成し、その変数を渡すことができれば、私は、思っていましたセッション。

簡単な例でお手伝いできますか?

学生のリストはこれに似たものになります。

学生スコアカード一覧

<body> 

<div data-role="page" id="page"> 
    <div data-role="header"> 
    <a href="" rel="external" data-ajax="false" data-role="button" data-icon="home" data-theme="b"> Dashboard </a> 
    <h4> Contractor's List </h4> 
    </div> 

    <div data-role="content">  

     <div data-role="fieldcontain"> 

      <ul data-role="listview" data-inset="true"> 

      <li> <label for="slider-2">Subject1</label> 
        <input type="range" name="subject1" id="subject1" value="0" min="1" max="10" /> 
      </li> 
      <li> <label for="slider-2">Subject2</label> 
        <input type="range" name="subject2" id="subject1" value="0" min="1" max="10" /> 
      </li> 
      </ul> 
     </div> 

    </div> 
    <div data-role="footer"> 
     <h6>2012 &copy </h6> 
    </div> 
</div> 

</body> 

http://jquerymobile.com/test/docs/lists/lists-divider.html

をScoresheet.phpは次のようになりますサンプル

studentlist.php:

<?Php 
$sql= 'SELECT student_id, student_name FROM students'; 
    $result=mysql_query($sql); 

     $num=mysql_num_rows($result); 
    echo $num; 

    ?> 

    <div data-role="content">  

      <div data-role="fieldcontain" data-theme="b"> 
      <ul data-role="listview" data-inset="true"> 
      <li data-role="list-divider"> List of Contractors </li> 
      <?php 
       $i=0; 
       while ($i < $num) { 

       $f1=mysql_result($result,$i,"student_id"); 
       $f2=mysql_result($result,$i,"student_name"); 

      ?> 

       <li> 
       <a href="scoresheet.php?id= <?Php echo $f1; ?> "> 
       <h3> <?Php echo $f2;?> </h3>    
       </a> 
       </li> 
      <?php 
       $i++; 
       } 
      ?>    
      </div>  

今、私が使用してテーブル内のレコードを更新するscoresheet.phpにおける変数「ID」を使用しますが、私はURLを通じて変数を渡すことで、何をやったかのMySQLのクエリ。

+0

「別のページに」と言うと、サーバー上の別のjqueryモバイルページや別の(php)ファイルを意味しますか? – shanabus

+0

実際、「別のページ」とは、PHPコードとjQuery Mobileスタイルの両方を含むPHPファイルです。 – user1076517

答えて

1

セッションデータには、多次元配列などのより複雑なデータ型も格納できます。

$student_id = $_POST['student_id']; 
$_SESSION['student_data'][$student_id]['subject_1'] = $_POST['subject_1']; 
$_SESSION['student_data'][$student_id]['subject_2'] = $_POST['subject_2']; 

希望することができます。

1

あなたの質問が分かっている場合、セッションIDが割り当てられているユーザーがいます。あなたは更新を行うときにセッションID情報を保持するスコアシートの更新を受け取るPHPスクリプトファイルを持っていたいと思います。

これを処理する簡単な方法の1つは、セッションIDの値をフォームアクションURLにドロップすることです。

<form action="scoresheet.php?sessionId=<?php echo $_SESSION['sessionId']; ?>" id="formScoresheet"> 

しかし、POSTメソッドを使用している場合は、セッションIDを隠し入力として配置するなど、よりエレガントな処理を行うことができます。

<input type="hidden" id="sessionId" name="sessionId" value="<?php echo $_SESSION['sessionId']; ?>" /> 

多分それは役立ちます、この例をチェックアウト - http://jsfiddle.net/shanabus/CbkpH/

このサーバーは、ページにして戻ってそれらを渡すことなく、セッション変数を管理する必要があるため、すべてはいえ少し冗長なようです。いくつかの基本的なPHPセッションの例をお探しの場合は、start hereとすることができます。基本的には、studenlist.phpファイルの最初のリクエストでセッションを開始してから、scoresheet.phpの値を使用する前に必ずセッションを開始してください。

+0

あなたの返事をありがとう。私は初めにそれを間違って表現するかもしれません。これは実際には教師だけが使用するアプリケーションです。教師は、受験論文を手動で修正し、データベースに保存されているこのアプリケーションを使用して生徒マークを記録します。 – user1076517

関連する問題