使用带有确认对话框的PHP / Jquery查看mysql数据

时间:2013-08-26 16:07:58

标签: php jquery mysql ajax

我对jQuery UI对话框有疑问,并显示数据库中的动态内容。在这里,我有一个使用php和mysql生成博客帖子的表,在该表中,有一列可以查看属于每篇博文的内容。

这个链接是这样的 -

$html .= "  <td align='center'>\n";
$html .= "      <a href='#' id='blog-$blog_id' class='view' >\n";
$html .= "          <span class='icon-small ico-view-blog' title='View This Blog Post'></span>\n";
$html .= "      </a>\n";
$html .= "  </td>\n";

点击上面的链接我需要弹出一个jQuery对话框来显示所有博客内容。例如:博客标题,作者,图像,博客等。

我尝试使用jQuery并使用单独的php脚本来获取这样的博客内容。但是我没想到会弹出对话框。

这是我用于对话的jQuery:

$( "#dialog-view-blog" ).dialog({
        autoOpen: false,
        height: 450,
        width: 650,
        modal: true,
        buttons: {
            Cancel: function() {
            $( this ).dialog( "close" );
            }
        }, 
        position: { 
            my: "center top", 
            at: "center top",
            of: "#content"
        }
    });

这是我如何从php文件发送数据的ajax请求来更新对话框中的内容 -

$( "a.view" ).click(function(e) {
    e.preventDefault();     
    var clickblogID = this.id.split('-'); //Split string 
    var DbNumberID = clickedID[1]; //and get number from array
    var blogId = 'blog_id='+ DbNumberID; //build a post data structure  
    $.ajax({
        url: 'update_blog.php',
        type: 'POST',
        data: blogId,
        success: function(data){

            //alert(data);

            //construct the data however, update the HTML of the popup div 
            //$('#dialog-view-blog').html(data);
            $('#dialog-view-blog').dialog('open');
        }
    });             
}); 

我的代码来自update_blog.php页面

if (isset($_POST['blog_id'])) { 
    //blog_id 
    $blogId = $_POST['blog_id'];

    // If there is no any blog to this user display a string. 
    $q = "SELECT * FROM userblogs WHERE blog_id = ?";
    // Prepare the statement:
    $stmt = mysqli_prepare($dbc, $q);
    // Bind the variables:
    mysqli_stmt_bind_param($stmt, 'i', $blogId);                            
    // Execute the query:
    mysqli_stmt_execute($stmt); 
    //store result  
    mysqli_stmt_store_result($stmt); 
    // Get the number of rows returned: 
    $rows = mysqli_stmt_num_rows ($stmt);

    if ( $rows == 1 ) { 
        $viewBlog  = "<div id='dialog-view-blog' title='View Blogs'>\n";
        $viewBlog .= "      <h2>$blog_title</h2>\n";
        $viewBlog .= "  <p>$blog_author | $blog_added_date</p>\n";
        $viewBlog .= "  <p>";
        $viewBlog .= "          <img src='".UPLOAD_DIR.$userName."/".$blog_image."' alt='Image for Blog Title' />";
        $viewBlog .= "      $blog</p>";
        $viewBlog .= "</div>\n";        

        echo $viewBlog;
    } 

有人能指出我哪里出错了吗?非常感谢任何评论。

谢谢。

0 个答案:

没有答案