Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索
12
返回列表 发新帖

[已答复] 想在资讯内容页里显示该资讯附近的其它资讯列表可以做到吗?

[复制链接]
 楼主| lwd815813 发表于 2009-8-3 18:33:01 | 显示全部楼层
还是有点搞不清楚怎么回事~为什么我用你给的SQL语句就不能生成你那样的模块?出来的是这样的结果,帮我看看是怎么回事?
  1. <!--{block name="spacenews" parameter="sql/SELECT%20%2A%20FROM%20%60supe_spaceitems%60%20WHERE%20%60catid%60%20%3D%20%24news%5Bcatid%5D%20AND%20%60dateline%60%20%3E%20%24news%5Bdateline%5D-86400%20AND%20%60dateline%60%20%3C%20%24news%5Bdateline%5D%2B86400/limit/0,10/cachetime/43200/cachename/nearpic/tpl/data"}--><!--nearpic-->
复制代码

你原来的模块是这样的:
  1. <!--{block name="spacenews" parameter="sql/SELECT%20%2A%20FROM%20%60supe_spaceitems%60%20WHERE%20%60catid%60%20%3D%20$news['catid']%20AND%20%60dateline%60%20%3E%20$news['dateline']-86400%20AND%20%60dateline%60%20%3C%20$news['dateline']+86400/limit/0,10/cachetime/43200/cachename/nearpicnews/tpl/data"}--><!--附近资讯-->
复制代码

对比了一下就是几个字符的不一样而已,为什么会这样?我用的是utf8,这会有影响吗?如果没有影响的话那出现以下的错误又是怎么回事?
  1. User: lwd815813
  2. Time: 2009-8-3 6:31pm
  3. Script: /ssutf/index.php

  4. SQL: SELECT * FROM `[Table]spaceitems` WHERE `catid` = $news[catid] AND `dateline` > $news[dateline]-86400 AND `dateline` < $news[dateline]+86400 LIMIT 0,10
  5. Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[catid] AND `dateline` > $news[dateline]-86400 AND `dateline` < $news[dateline]+' at line 1
  6. Errno.: 1064
复制代码
回复

使用道具 举报

littlehz 发表于 2009-8-3 19:08:36 | 显示全部楼层
使用模块生成之后再修改,查询数据库时,传递的是$news[catid]变量中的值,所以$news[catid]这些不能转义,如果直接用模块生成的,$news[catid]被转义了,也就是传递给$news[catid]这个字符串给数据库查询。

用我给出的模块查出附近资讯的标题没有问题。
回复

使用道具 举报

 楼主| lwd815813 发表于 2009-8-3 19:22:05 | 显示全部楼层
本帖最后由 lwd815813 于 2009-8-3 19:25 编辑

原来这样啊~!搞了半天,还有没什么要注意的?包括那两个表联查,
还有加和不加这个`符号和单引号有没有区别?
比如:
1、`spaceitems`和spaceitems又有没有区别?
2、$news[catid]和$news['catid']又有没有区别?
回复

使用道具 举报

littlehz 发表于 2009-8-3 19:35:20 | 显示全部楼层
表名和字段名加上`,变量$['catid']加上',是严格一些的写法,更不容易出错产生歧义,没很大区别。
先用个可用的数据例如123替代$news[catid]这些变量,用phpmyadmin到数据库查询,确认SQL语句无误之后再把这个123数值改回$news[catid]变量。
回复

使用道具 举报

 楼主| lwd815813 发表于 2009-8-3 19:38:53 | 显示全部楼层
好的,我再去试试先。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-9-12 13:51 , Processed in 0.091236 second(s), 12 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表