MySQL включает в себя объект jSon - PullRequest
0 голосов
/ 24 февраля 2010

Я сделал скрипт php / ajax / mysql / json для своего сайта, чтобы показать все теги.

Если я ПОЛУЧУ идентификатор страницы, он покажет мне все теги этой страницы. Но! На моей главной странице я хотел бы показать все теги со всех страниц со счетчиком.

Например, если я пометил 4 страницы с помощью

"**ilovestackoverflow**"

я бы хотел видеть на своей главной странице

"**ilovestackoverflow (4)**"

Я знаю, что могу считать строки с помощью mysql COUNT (), но, к сожалению, я не могу использовать его в этом случае, однако я много пробовал:

(функция sqlnez ($ value) - мой сценарий с полосками)

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

Спасибо за вашу помощь и время:)

Ответы [ 2 ]

1 голос
/ 24 февраля 2010

Ваш запрос sql должен быть SELECT tag, COUNT (*) as count FROM tags GROUP BY tag, затем замените I WANT THE COUNTER HERE на $row['count']

0 голосов
/ 24 февраля 2010

Вместо того, чтобы писать json вручную (это очень плохая идея, несмотря ни на что), вы должны использовать json_encode

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...