中国Linux公社论坛's Archiver

xiaoxiaosong 发表于 2008-1-2 15:10

php中有关分页的问题

php中分页显示数据库的内容,有个第几页,第几页项目,点击后应显示相关页面的显示,
相应的页码有个变量作为参数传送,但发现点击后该参数不能正确传递,始终是初始的1。
如何解决这个问题?

jiangtao9999 发表于 2008-1-2 22:53

没看明白你想干什么……
如果是显示数据库的内容,完全可以用数据库的搜索条件来限定页码。

access 用分页好像是因为他的查询功能有点那个,所以只能耗费内存来进行分页处理操作。

xiaoxiaosong 发表于 2008-1-3 18:48

用的MYsql,请看下面:
  echo "第";
  for ($n=1;$n<=$pagecount;$n++)
      {
         echo " <a href='index.php?pageno=$n'>$n</a>";
      }
  echo " 页$pageno";

Pageno作为分页参数,来确定是第几页后,然后截取数据库中相应的数据进行显示,假如 $n=2,点击这个链接后,其$pageno仍为1,也就是说不能显示相应的分页的内容,不知是何故?

[[i] 本帖最后由 xiaoxiaosong 于 2008-1-3 18:51 编辑 [/i]]

jiangtao9999 发表于 2008-1-5 13:11

直接调用 url 数据 $pageno 默认已经取消支持,只有 php 4.1 以前(好像是)才默认支持。新版本已经默认关闭而且不建议开启此功能。
这个功能好像叫什么“全程变量”?
也就是说 $pageno 对于 php 代码来说,他就是一个普通变量,你所列出的代码没有给这个变量赋值,他现在应该是 null 。(你说他是1 ,那就表明你前面的代码已经赋值 1 了)。
正确的使用,好像是 $_POST["pageno"],或者 $_REQUEST[] 读取 url 变量。很久没写代码,有些生疏了。
替代这个功能所对应的变量引用: Cookie 是 $_COOKIE[] ,表单一般是 Get 类型,用 $_GET[] ,session 用 $_SESSION[] 。

原先的代码编写已经确定可以通过简单 url 赋值攻破部分论坛系统。

jiangtao9999 发表于 2008-1-5 13:12

还有啊,楼主,这个问题不是分页问题,而是数据传递问题……

xiaoxiaosong 发表于 2008-1-6 09:17

[quote]原帖由 [i]jiangtao9999[/i] 于 2008-1-5 13:12 发表 [url=http://www.linuxfans.org/bbs/redirect.php?goto=findpost&pid=4839522&ptid=182010][img]http://www.linuxfans.org/bbs/images/common/back.gif[/img][/url]
还有啊,楼主,这个问题不是分页问题,而是数据传递问题…… [/quote]

:oops: :oops: :oops: 水平有限,还不能正确表述问题。

此问题已自行解决。刚开始已为是代码有错,调试之时忽然想起本机上的PHP不能直读取表单参数,需修改 ini 文件。修改配置文件后,此问题也一并解决。

正如你所言,如果“全程变量”功能关闭,那如何引用表单,链接地址以及Cook中的在关数据?
若表单中使用“post",那引用数据时是使用$_GET[] 还是$_POST?它们之间有区别?


PHP的网站程序上传至服务器空间后,其数据库如何处理,才能正确读取?
ASP的可全结构上传,也不需做额外的处理,PHP的好象不能。
能否详情介绍PHP网站的架设方法?
有相关教程也请介绍嵸。
谢谢

jiangtao9999 发表于 2008-1-6 17:40

不要打开那个参数!除非你打算把你的代码当作“蜜罐”。
表单提交有两种方式,一个为 post ,一个是 get 。他们功能差不多,但有不同的限制。好像是 get 不能上传大于2G的文件,Post 没有这个限制?具体的区别你只能查找了。
至于表单使用那种方式,如果你用 dreamwaver ,他默认为 get ,你可以看代码,有一个 form 参数的。

你所说的 ASP 的数据库结构上传,其实是那种功能单一、性能低下的 ACCESS 数据库。
如果你把 php + mysql 思考为 asp + mssql ,就能理解了。
所有的数据需要导入数据库。你可以放一个 phpmyadmin 到你的空间,就可以 web 方式管理数据库了。

至于 php 网站架设方法,我不知道你问的是哪方面。
RHAS 5.0 安装时安装 mysql 或者 potsql (忘了单词),并且装上 httpd 和 php 及相应的数据库支持,就行了。

xiaoxiaosong 发表于 2008-1-8 20:38

主要是指数据库的处理上、
比如ASP中的数据库就在你所写的网站程序的目录下、用这个程序时、直接上传至空间就可以了、
而PHP、在我的电脑上数据库与网站程序并不处于同一个主目录下、而且数据库文件 分为三个不同后缀名的文件 、不知道如何处理?
也就是说将这些文件 上传至空间后是不是要配置下才能 正确浏览网站?
曾下过些PHP类网站、它启动了一个安装程序、所以对PHP网站的架设不太明白

jiangtao9999 发表于 2008-1-9 20:56

你用过 mssql 没有?
你见过 mssql 的数据库初始化拷贝几个文件就行了的么?
请先补习一下数据库的相关知识……

你要把数据库内容导出,之后导入到你的空间数据库中,直接拷贝数据库是绝对不能的。
数据库文件只能由 mysql 使用的那个用户访问,其他用户都不能访问,除非你用 root 用户。
这里面牵扯到安全问题。

access 数据库他是基于文件的。asp + access 可以直接拷贝就能用。与之对应的 php 组合,绝对不是 php + mysql 。
或许是 php + sqlite 或者 php + xml 方式。
使用 access 同时再使用 mssql 、 oracal 以及其他企业级的数据库,你会发现 access 根本就不能算是数据库。
mssql 、mysql 、oracal 一类的数据库,都是基于服务概念,你所有的操作都要去连接数据库服务才能用。

页: [1]

Powered by Discuz! Archiver 6.1.0F  © 2001-2007 Comsenz Inc.