1

私はマーケティングプロジェクトに取り組んでいます。銀行、学校、その他多くのカテゴリがあり、SQLデータベースに同じテーブルがあります。今、ユーザーがクリックしたカテゴリの結果を表示したいと思います。私のindex.php

<?php
    $connection = mysql_connect('localhost', 'root', '');
    $db = mysql_select_db('market', $connection);
?>


<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js">
</script>
<script type="text/javascript">
$('document').ready(function () {
    $('a').click(function () {
        var temp = $('a').attr('myval');
        $.post('fetch.php', {
            id: temp
        }, function (data) {
            $('#display').html(data);
            var temp = null;
        });
    });
});
</script>
</head>
<body>
    <ul>
        <li>
            <a href="javascript:return(0)" myval="school">
                <h3>school</h3>
            </a>
        </li>;
        <li>
            <a href="javascript:return(0)" myval="bank">
                <h3>Bank</h3>
            </a>
        </li>;
        <!--many more......-->
    </ul>
    <div id="display"></div>
</body>

そしてその私のfetch.php

<?php
$connection = mysql_connect('localhost', 'root', '');
$db         = mysql_select_db('market', $connection);
$x          = $_POST['id'];
$safex      = mysql_real_escape_string($x);

$query = mysql_query("select * from $safex", $connection);

$result = "";

$result .= "<div id='display'>";
$result .= "<table border=\"1\">";
$result .= "<tr><th>Name</th><th>Password(encrypted)</th></tr>";
while ($row = mysql_fetch_array($query)) {
    $result .= "<tr><td> {$row['id']}</td>" . "<td> {$row['name']}</td></tr></p>";
}
$result .= "</table>";

$result .= "</div>";

echo $result;

?>

そして今、私の問題は、リンクをクリックしたときです。常にタイスクールのデータが表示されます。しかし、異なるクリックで異なるテーブルデータを表示したいです。すべてのテーブルのすべてのフィールド名が同じです。plzヘルプ...。

4

2 に答える 2

2

$(this)クリックされた要素の属性を取得するには、を使用する必要があります。

var temp = $(this).attr('myval');

$(this)イベントが発生した場所を示します。また、アンカーノードを使用しているので、イベントハンドラー関数で引数を使用e.preventDefault()して渡します。e

于 2013-02-16T03:56:35.703 に答える
2

コードで、次を変更しました

var temp = $('a').attr('myval');

var temp = $(this).attr('myval');
于 2013-02-16T03:59:03.890 に答える