2

我正在尝试使用 AJAX 从数据库中获取信息(u_nameu_email)到 JQuery 灯箱中。我在使用 Ajax 部分时遇到问题。我的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数据库表中匹配的其中一个,并获取结果。

Javacript 代码是:

$(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);

我已经发布了我尝试过的所有内容。我不知道如何连接idclicked 以将其传递到idphp行,然后连接 Ajax 和 Jquery 灯箱。$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); 

考虑转移到 PDO,因为 mysql 已被弃用!

于 2013-01-06T19:08:13.367 回答