2017-05-09 27 views
1

enter image description hereボタンのクリックでテーブルデータの値を取得

私はここで論文名といいえ、オンライン試験のアプリケーションを構築しています。私は最初のボタンをクリックしたその論文の紙コードを取得したい。テーブルのコードはここにある:

  <form method="post" action="exam_page.php" > 
      <table > 
       <tr style="background-color: #7F859E;color:white; height:50px;"> 
        <th style="padding-left:140px; width:550px;">Paper</th> 
        <th style="padding-left:40px;">Time</th> 
        <th style="padding-left:40px;">Duration</th> 
        <th style="padding-left:40px; width:250px;"></th> 

       </tr> 
       <?php 
        $i=1; 
        while($row=mysql_fetch_array($rs)){?> 
        <tr style="height:80px; background-color: #CCCCCC;"> 
          <td style="padding-left:40px;"> 
           <input type="text" value="<?=$row['paper_code']?>" name="paper_code<?=$i?>" readonly><?=$row['paper_name']?> 
          </td> 
          <td style="padding-left:40px;"> 
           <input type="text" value="<?=$row['time']?>" readonly style="width:90px;"> 
          </td> 
          <td style="padding-left:40px;"> 
           <input type="text" value="<?=$row['duration']?> Min" readonly style="width:90px;"> 
          </td> 
          <td style="padding-left:40px;"><button style="width:100px;">Start</button></td> 
        </tr> 
       <?php $i++; } $_SESSION['exam']=$i; ?> 
      </table> 
      </form> 
+1

のようなクエリを実行します。それらはv5.5(2013年6月)から廃止され、v7.0(2015年12月)以降削除されました。代わりに[** mysqli _ ***](https://secure.php.net/manual/en/book.mysqli.php)または[** PDO **](https://secure.php.net/** ** prepared statements **](https://secure.php.net/manual/en/pdo.prepare.php)と[**バインドされたパラメータ** ](https://secure.php.net/manual/en/pdostatement.bindparam.php)。 –

+0

は次回から気をつけます:) – Csap

+0

テーブルの周りに「

」タグはありますか? –

答えて

0

はjavascriptのonclickの機能を使用してみてください:あなたがクリックすると

<input type="text" value="<?php echo $row['paper_code']; ?>" onclick="getPaperCode('<?php echo $row["paper_code"]; ?>');" name="paper_code<?php echo $i; ?>" readonly><?=$row['paper_name']?> 

<script> 
    function getPaperCode(paperCode) 
    { 
     alert(paperCode); 
    } 

</script> 

次に、あなたの入力のonclickイベントを追加編集します。ボタンの値を警告します

0

送信ボタンに名前を付けて(送信タイプにする)、その値属性に紙コードを割り当てます。今

<button type="submit" style="width:100px;" name="clicked" value="<?=$row['paper_code']?>"> 
    Start 
</button> 

exam_page.phpにあなたは$_POST['clicked']からクリックされたボタンの値を取得することができます。 (または、あなたはそれに名前を付けることにしたものは何でも。)


は、あなたがクリックしたボタンに関連付けられている他の入力から値を取得するには、その名前の代わりに、$iを使用して、紙のコードを追加することができます。

<input type="text" value="<?=$row['time']?>" name="time[<?=$row['paper_code']?>]"> 

exam_page.phpにあなたは$_POST['time'][$_POST['clicked']]から値を取得することができ、など

彼らはしかし、フォームで編集可能であることを意図していない場合、私はそれらを表示するには、何か他のものを使用することをお勧めしますし、ちょうど代わりにexam_page.phpにデータベースからロードしてください。そうしないと、ユーザーはreadonly属性を上書きして別の値を送信できます。この

<input type="hidden" name="id" value="<?=$row['eid']?>"> 

とボタンのように隠されたフィールドを経由して、あなたのユニークなid値またはexamcodeを通過した

+0

トンの人に感謝...本当に有益です... @パニックしません – Csap

0

は `mysql_ *`関数を使用しないでください

$id=$_POST['id']; 
select * from table_name where id='$id'; 
+0

これは各行に別々の書式がある場合には動作しますが、この場合は複数行の値の周りに1つの書式があります。このようにすると、最後の行の値だけが '$ _POST ['id' ] '。 –

+0

ああ、データ属性である可能性があります。このリンクを読む[link](https://www.w3schools.com/tags/att_global_data.asp) –

関連する問題