无法显示来自相同变量php的元素

时间:2014-04-10 17:06:01

标签: php json

我正在为我的城市的一家报纸工作,我们聘请第三方公司为我们建立一个应用程序,他们正在询问有关我们数据库的jsons,我真的很讨厌jsons总是很难与他们合作。

我遇到的问题至少对我来说简单而复杂,我只需要在entry_blog_id列上显示属于表mt_entry的变量7的元素,路径将是{{1 }}。问题是当我声明mt_entry.entry_blog_id时,代码不起作用,但是如果删除该变量,所有代码都能正常工作,但选择所有博客ID。

这是我的完整代码,我需要一些帮助(我知道我的英语非常抱歉)

entry_blog_id = 7

2 个答案:

答案 0 :(得分:0)

查看json_encode功能

$data = array(
  'field' => 'value',
  'id' => $entry_id
);
$result = json_encode($data);
echo $result;

{"field":"value", "id":7}

此外,我打开我的心灵感应模式并为您准备一个查询:)

SELECT e.entry_id, e.entry_title, e.entry_text, e.entry_created_on, e.entry_basename, 
    b.blog_name AS blog_name,
    b.blog_site_path AS blog_site_path, 
    c.category_label AS category_label,
    c.category_basename AS category_basename, 
    COUNT(a.asset_url) AS contadorImagenes,
    a.asset_url AS asset_url, 
    a.asset_file_ext AS asset_file_ext
FROM mt_entry e
INNER JOIN mt_placement p ON p.placement_entry_id = e.entry_id
INNER JOIN mt_category c  ON c.category_id = p.placement_category_id
INNER JOIN mt_blog b      ON b.blog_id = e.entry_blog_id
INNER JOIN mt_objectasset oa ON oa.objectasset_object_id = e.entry_id
INNER JOIN mt_asset a ON a.asset_id = oa.objectasset_asset_id
WHERE e.entry_id = 7
GROUP BY e.entry_id
ORDER BY e.entry_created_on DESC
LIMIT 0, 16

试试吧

答案 1 :(得分:-1)

你的问题在于你正试图重新发明轮子。 PHP带有一个称为“json_encode”的完美函数。

只需将数据放入其中(数组,对象......),它就会为您进行转换。 在您的情况下,请执行以下操作:

$data = array(
    'id'     => $id,
    'titulo' => $titulo,
    'fecha'  => $fecha

);
echo json_encode($data);