图像没有在jtable中显示?

时间:2014-01-17 21:22:21

标签: php jquery jquery-jtable

我正在使用来自jtable.org的jtable。问题是我有一个存储在我的数据库(MySQL)中的图像,我想使用jtable与其他列在网页上显示该图像。所有其他列正确显示但图像未显示。这是我的HTML代码:

    <html>
  <head>

    <link href="themes/redmond/jquery-ui-1.8.16.custom.css" rel="stylesheet" type="text/css" />
    <link href="Scripts/jtable/themes/lightcolor/blue/jtable.css" rel="stylesheet" type="text/css" />

    <script src="scripts/jquery-1.6.4.min.js" type="text/javascript"></script>
    <script src="scripts/jquery-ui-1.8.16.custom.min.js" type="text/javascript"></script>
    <script src="Scripts/jtable/jquery.jtable.js" type="text/javascript"></script>

  </head>
  <body>
    <div id="PeopleTableContainer" style="width: 960px;"></div>
    <script type="text/javascript">

        $(document).ready(function () {

            //Prepare jTable
            $('#PeopleTableContainer').jtable({
                title: 'Table of people',
                actions: {
                    listAction: 'PersonActions.php?action=list',
                    updateAction: 'PersonActions.php?action=update'

                },
                fields: {
                    PersonId: {
                        key: true,
                        create: false,
                        edit: false,
                        list: false
                    },
                    Name: {
                        title: 'Product',
                        width: '20%'
                    },
                    SellingPrice: {
                        title: 'Selling Price',
                        width: '15%',
                    },
                    CostPrice: {
                        title: 'Cost Price',
                        width: '15%',
                    },
                    Remarks: {
                        title: 'Remarks',
                        width: '15%',
                    },
                    Stock: {
                        title: 'Stock',
                        width: '15%',
                    },
                    Pic: {
                        title: 'Image',
                        width: '50%',
                        edit: false
                    }
                }
            });

            //Load person list from server
            $('#PeopleTableContainer').jtable('load');

        });

    </script>

  </body>
</html>

这是我对其他函数的SELECT查询:

//从数据库中获取记录

$result = mysql_query("SELECT * FROM people;");

    //Add all records to an array
    $rows = array();
    while($row = mysql_fetch_array($result))
    {
        $rows[] = $row;
    }

    //Return result to jTable
    $jTableResult = array();
    $jTableResult['Result'] = "OK";
    $jTableResult['Records'] = $rows;
    print json_encode($jTableResult);

2 个答案:

答案 0 :(得分:0)

当我遇到同样的问题时,以下链接有助于: Dynamically add images to JTable cells

抱歉,我希望我的旧代码仍然存在,而且我知道给予链接是不受欢迎的。也许其他任何绊到这个页面的人都会发现它很有用。

除非您没有正确检索图像,否则图像来自您的数据库不应该有所作为。尝试使用本地映像,如果您可以使用它,那么您已将问题隔离到不正确地从数据库中获取映像。在过去,我尝试过只有数据库中的图像链接指向我的ftp服务器。这意味着我不必在resultSet中传输图像,而只需通过FTP获取它。

答案 1 :(得分:0)

如果我们将图像的地址存储在数据库中,而不是简单地用图像的地址(链接)填充我们的列,我想出了另一种方法。