-3

フォーム内でテーブルが機能する問題を修正しました。追加のフィールドを追加し、<td>その中に非表示の入力フィールドを作成しました。このフィールドは、テーブル内のヒントごとに個別のヒント ID を POST します。次のページに POST するための tipID を取得するために、表全体も form タグでラップされます。

ここで、個々のテーブル行がフォームからデータを送信する方法を知る必要があります。たとえば、それぞれがボタンであるか、これらのテーブル行のいずれかの非表示のボタンをクリックします。

<form method="post" action="tips.php">
<div id="tippanel"> 
     <table id="tippabl">
         <tbody>
           <?php if(!empty($tips))
             while ($recd = mysql_fetch_array($tips, MYSQL_ASSOC)) {            
             echo "<tr> <td class='tiptxt' >"; echo $recd['tip_desc']; echo "</td> <td class='tiptime'>";
             echo "<span>".date('H:i', strtotime($recd['datetime']))."</span>"; echo "</br>"; 
             echo date('m-d-y', strtotime($recd['datetime'])); echo"</td><td><input type="; 
             echo '"hidden" '; echo 'name='; echo '"tip_id" '; echo 'value="'; 
             echo ($recd['tip_id']); echo'"></td></tr>';
                }   
           ?>                                   
         </tbody>
      </table>          
     </div>
</form>

次のページでは、以下のクエリを使用し、tip_desc 全体をエコーし​​ます。ヒントは数百文字になる可能性があるためです。また、管理者が元のユーザーにメッセージを送信できるテキスト領域もあります。私の PHP とクエリは、次のページで次のようになります。

<?php
$tipID = $_POST['tipID'];
mysql_query="SELECT * FROM tips WHERE tipID = $tipID";
?>
4

1 に答える 1

0

テーブルをフォームに囲み、非表示の入力フィールドをフォームに配置するだけです。

<form action="tips.php">
    <input name="tipID" type="hidden" value="id" />
    <div id="tippanel"> 
        <table id="tippabl">
            <tbody>
                <?php 
                    if(!empty($tips)) {
                        while ($recd = mysql_fetch_array($tips, MYSQL_ASSOC)) {             
                            echo "<tr> <td class='tiptxt' >"; echo $recd['tipDescription'];         
                            echo "</td> <td class='tiptime'>";
                            echo "<span>".date('H:i', strtotime($recd['dateTime']))."</span>"; 
                            echo "</br>"; echo date('m-d-y', strtotime($recd['dateTime']));
                            echo"</td></tr>";
                        }
                    }
                ?>                                  
            </tbody>
        </table>
    </div>
</form>

これを見て、行をクリック可能にします。ワーキングデモ

function addRowHandlers() {
    var table = document.getElementById("tableId");
    var rows = table.getElementsByTagName("tr");
    for (i = 0; i < rows.length; i++) {
        var currentRow = table.rows[i];
        var createClickHandler = 
            function(row) 
            {
                return function() { 
                    var cell = row.getElementsByTagName("td")[0];
                    var id = cell.innerHTML;
                    alert("id:" + id);
                };
            };
        currentRow.onclick = createClickHandler(currentRow);
    }
}

クレジット: SolutionYogi

参照:テーブル行への onclick イベントの追加

于 2013-04-22T20:45:43.493 に答える