0

少し問題があります。このチュートリアルを使用しています

http://www.codemashups.com/dynamic-search-filtering-using-jquery-and-php/

データベースを検索し、結果をテーブルに返すことができます。これは、ページ「search-data.php」のコードの基本です。

    if ($conn) {

    /* Fetch the users input from the database and put it into a
     valuable $fetch for output to our table. */
    $fetch = mysql_query("SELECT * FROM clients 
                         WHERE client_name LIKE '%{$param}%' OR client_email REGEXP '^$param'  OR client_address LIKE '%{$param}%' OR client_postcode LIKE '%{$param}%' OR client_phone REGEXP '^$param'");

    /*
       Retrieve results of the query to and build the table.
       We are looping through the $fetch array and populating
       the table rows based on the users input.
     */
    while ( $row = mysql_fetch_object( $fetch ) ) {
        $sResults .= '<tr id="'. $row->id . '" >';
        $sResults .= '<td>' . $row->client_name . '</td>';
        $sResults .= '<td>' . $row->client_email . '</td>';
        $sResults .= '<td>' . $row->client_address . '</td>';
        $sResults .= '<td>' . $row->client_postcode . '</td>';
        $sResults .= '<td>' . $row->client_phone . '</td>
        </tr>';
    }

}

/* Free connection resources. */
mysql_close($conn);

/* Toss back the results to populate the table. */
echo $sResults;

それはすべて正常に機能し、テーブルを使用して検索でき、必要な情報が表示されます。よろしくお願いします! あなたは何をしたいですか?

さて、私のテーブルはクライアント情報を保存するものであり、私が行った以前の検索不可能なテーブルでは、リストから必要なクライアントをクリックすると、すべての情報のページに移動します (リスト内の情報は名前に限定されます)。全ページに電話番号、郵便番号などがある住所)とそれを行うには、onclickを使用します。

新しい検索可能なテーブルのテーブルは次のとおりです。

            <table>
                <tr>
                    <th class="ui-state-default">Name</th>
                    <th class="ui-state-default">Email</th>
                    <th class="ui-state-default">Address</th>
                    <th class="ui-state-default">Postcode</th>
                    <th class="ui-state-default">Phone</th>
                </tr>
            <tbody id="results" onclick="location='../clients.php?action=viewClient&amp;clientId=<?php echo  ?>'" ></tbody>
        </table>

私が言ったように、それはうまく機能し、すべてのクライアント情報が表示されますが、onclick行のエコーの間に「ID」を表示する必要があります(正しいIDが表示されている場合、エコーは必要ないと思います)。

onclick="location='../clients.php?action=viewClient&amp;clientId=<?php echo  ?>

IDに関する情報をonclickに取得する簡単な方法を誰でも見ることができますか<tr>?「search-data.php」ページの一部にonlickを作成しようとしましたが、機能しないか、実行したために機能しませんでした間違っている、後で私は考えています。

とにかくどんな助けでも素晴らしいでしょう。

- - - - - - - - - - 編集 - - - - - - - - - - - - -

機能するリンクを作成できることがわかりました。次のように、結果にリンクを作成できます。

 $sResults .= '<td><a href="../clients.php?action=viewClient&amp;clientId='. $row->id .'">'. $row->client_name .'</a></td>';

これは機能するリンクを作成しますが、onclickで同様のことをしようとすると、正しい場所は言うまでもなく、そのようにするのが好きではないかのように、どこにも行きません。素晴らしいだろうonclickの問題。

4

1 に答える 1

0

すでに jQuery を使用しているため、テーブルの onclick を削除し、次の JavaScript を追加します。

チュートリアルに基づいて、検索ページの head セクションをこれに更新する必要があります。これを機能させるために他のコードを更新する必要はありません。

<head>
    <title>jQuery Search Autocomplete</title>

    <style type="text/css" title="currentStyle">
        @import "css/grid_sytles.css";
        @import "css/themes/smoothness/jquery-ui-1.8.4.custom.css";
    </style>

    <!-- jQuery libs -->
    <script  type="text/javascript" src="js/jquery-1.6.1.min.js"></script>
    <script  type="text/javascript" src="js/jquery-ui-1.7.custom.min.js"></script>

    <script  type="text/javascript" src="js/jquery-search.js"></script>

    <script type="text/javascript">
        (function($) {
            $('td').click(function() {
                var id = $(this).parent().attr('id');
                window.location = '../clients.php?action=viewClient&clientId=' + id;
            }
        }(jQuery));
    </script>
</head>
于 2013-03-22T16:34:39.533 に答える