PHP计数图像搜索结果

时间:2015-09-12 17:41:33

标签: php mysql

我有一个搜索结果页面,显示MySQL数据库中的项目(table1)。我用来显示结果的代码是:

if (!empty($data)) {
    foreach ($data as $item) {
        echo '<div class="item">';
        if (strlen($item['item_desc']) > 10) {
            if (strlen($item['item_link']) > 10) {
                echo '<a href="/item.php?id='.$item['item_id'].'">';
            } else {
                echo 'No Results Found';
            }
        }
    }
}

每个搜索结果的图像都存储在一个单独的表中(表2)。我正在尝试使用下面的代码来计算table2中每个结果的图像数量,并在搜索结果页面上显示每个结果的数字,但它返回0值?

$result=mysql_query("SELECT count(*) as total from table2 where id = '" .$item['item_id']. "'");
$query=mysql_fetch_assoc($result);
echo $query['total'];

3 个答案:

答案 0 :(得分:0)

我遗漏了一些有关您的数据库结构的数据,但我可以想象您将图像ID存储为整数,并且您正在请求id为字符串的计数。

所以,如果我是真的,这可能会有所帮助。使用item_id

删除php变量周围的引号

"SELECT count(*) as total from table2 where id = " .$item['item_id'];

答案 1 :(得分:0)

你可以试试这个..

$str=$item['item_id'];
mysql_query("SELECT count(*) as total from table2 where id = '$str'");

答案 2 :(得分:0)

有一个mysql函数来计算从mysql查询输出的行,它是 mysql_num_rows()。根据我对您的数据库的了解,您的代码可以是:

$item_id = $item['item_id'];
$result = mysql_query("SELECT * FROM table2 where id = '$item_id'");
$count = mysql_num_rows($result);
echo $count;

这将输出与您的查询匹配的记录数。