【问题标题】:MySQL count include to jSon objectMySQL 计数包括到 JSON 对象
【发布时间】:2011-01-20 11:24:58
【问题描述】:

我为我的网站制作了一个 php/ajax/mysql/json 脚本,以显示所有标签。

如果我获取页面 ID,它将显示该页面的所有标签。 但!在我的主页中,我想显示所有带有计数器的页面中的所有标签。

例如,如果我用

标记了 4 个页面
"**ilovestackoverflow**"

我想在我的主页上看到

"**ilovestackoverflow (4)**"

我知道我可以用 mysql COUNT() 计算行数,但不幸的是我不能在这种情况下使用它,但是我尝试了很多方法:(

(function sqlnez($value) 是我的stripslashes 脚本)

php:

$server = mysql_connect($host, $user, $password);
$connection = mysql_select_db($database, $server);
//if got pageID
if(isset($_GET['id'])) {
  $query = mysql_query("SELECT * FROM tags WHERE id=".sqlnez($_GET['id'])."");
  $json = "({ tags:["; 
  for ($x = 0, $numrows = mysql_num_rows($query); $x < $numrows; $x++) {
    $row = mysql_fetch_assoc($query);
    $json .= "{tag:'" . $row["tag"] . "'}";
      if ($x < mysql_num_rows($query) -1)  
        $json .= ",";  
      else
        $json .= "]})";
    }
}
//this is the part what needs help
//if got nothing
else { 
  $query = mysql_query("SELECT * FROM tags GROUP BY tag");
  $json = "({ tags:["; 
  for ($x = 0, $numrows = mysql_num_rows($query); $x < $numrows; $x++) {
    $row = mysql_fetch_assoc($query);
    $json .= "{tag:'" . $row["tag"] . "',counter:'" . I WANT THE COUNTER HERE . "'}";
    if ($x < mysql_num_rows($query) -1)  
      $json .= ",";  
    else
      $json .= "]})";
  }
}

$response = $_GET["callback"] . $json;
echo utf8_encode($response);
mysql_close($server);

感谢您的帮助和时间:)

【问题讨论】:

  • 以后,你应该尝试缩进你的代码。这对每个人都更好。

标签: php jquery mysql ajax json


【解决方案1】:

您的 sql 请求应该是 SELECT tag, COUNT (*) as count FROM tags GROUP BY tag 然后将 I WANT THE COUNTER HERE 替换为 $row['count']

【讨论】:

  • 警告:mysql_num_rows():提供的参数不是第 39 行 /home/.../tagcloud.php 中的有效 MySQL 结果资源 那就是 $query = mysql_query("SELECT tag, COUNT (*) 作为计数 FROM 标签 GROUP BY 标签");线。 :(
  • @Zoltan Repas 您必须始终检查 mysql_query() 的返回值:它可以返回结果集......或不。有关详细信息,请参阅手册。
【解决方案2】:

您应该使用json_encode

,而不是手动编写 json(无论如何,这是一个非常糟糕的主意)

【讨论】:

    猜你喜欢
    • 2021-01-11
    • 2018-06-16
    • 1970-01-01
    • 2022-11-24
    • 1970-01-01
    • 1970-01-01
    • 2020-04-14
    • 2023-03-05
    • 1970-01-01
    相关资源
    最近更新 更多