2

AJAX を使用してデータベースから JQuery ライトボックスに情報 (u_nameおよび)を取得しようとしています。u_emailAjax 部分に問題があります。私のHTML構造は次のとおりです。

<div class="boxes">
    <a href="#" id="showe3" class="button lfloat">Show it</a>
</div>
<div class="boxes">
    <a href="#" id="showe4" class="button lfloat">Show it</a>
</div>

そのため、ユーザーがidデータベース テーブルで一致する のいずれかをクリックすると、結果が取得されます。

Javascript コードは次のとおりです。

$(function() {
    $('#id').ecko({  //ecko is a JQuery lightbox function which im using
        height: 200,
        holderClass: 'custom',
        template: '<p>About</p>' +
        '<div>' +
        '<a href="#" target="_blank" class="b1">u_name</a>' +
        '<a href="#" target="_blank" class="b2">u_email</a>' +
        '<a href="#" target="_blank" class="b2">More</a>' +
        '</div>'
    });
});

は次のAjaxようになります。

 $.ajax({                                      
    url: 'functions/db.php',                        
    data: "",
    dataType: 'json',     
    success: function(data){
        var name = data[0];
        var email = data[1];

        //What should be here??

    } });

PHPコードは次のようになります。

    $result = mysql_query("SELECT * FROM $tableName WHERE `id` = " what should be written here? "); 
    $array = mysql_fetch_row($result);   

    echo json_encode($array);

私が試したすべてを投稿しました。clicked を接続して のid行にid渡し、Ajax と Jquery ライトボックスを接続する方法がわかりません。php$result = mysql_query("SELECT * FROM $tableName WHERE= "")

4

1 に答える 1

0

誰かがボタンをクリックすると、ID が ajax の data オプションに渡され、サーバー側でフェッチされます。

$('.button').on('click', function() {
    $.ajax({
        type: 'POST',                              
        url: 'functions/db.php',                        
        data: {id: this.id},
        dataType: 'json'
    }).done(function(data) {
        $('#id').ecko({
            height: 200,
            holderClass: 'custom',
            template: '<p>About</p>' +
                '<div>' +
                '<a href="#" target="_blank" class="b1">'+data[0]+'</a>' +
                '<a href="#" target="_blank" class="b2">'+data[1]+'</a>' +
                '<a href="#" target="_blank" class="b2">More</a>' +
                '</div>'
        });
    });

});

次に、マークアップでデータを使用しますが、それは ajax 呼び出しが完了した後にのみ行うことができます。

PHP

$id = $_POST['id'];
$result = mysql_query("SELECT * FROM $tableName WHERE `id` = " $id); 

mysql は推奨されていないため、PDO への移行を検討してください。

于 2013-01-06T19:08:13.367 に答える