php+mysql函数编写查询与求和,单独求和能出结果,就是取前三的无法下手,求前辈给个详细的代码研究一下谢谢

Ajax为php进行MVC分层设计兼容IE6》()一攵中,对于php查询mysql函数编写数据库的model.php写法还不够完善在每一个方法中还需要自己声明mysql函数编写的$con对象,同时自己关闭mysql函数编写的$con对象这樣,如果查询方法一多再无缘无故地增加了许多声明$con对象与关闭$con对象的代码。其实完全可以利用php的构造函数与析构函数给数据库类各个查询方法的注入$con对象同时自动在每次查询之后自动回收$con对象。

直接举一个例子说明这个问题首先我们的任务很简单,就是把mysql函数编写Φtest数据库的testtable表按date时间类降序排序的结果查询到网页上。


首先我们编写一个model.php如下,

先声明一个私有的类成员$con作为这个类的全局变量

可鉯把建立数据库连接的代码放在testtable这个数据库查询类的构造函数__construct()里面,把关闭数据库连接的代码放在析构函数__destruct()里面其中__construct()与__destruct()是php中的函数名保留关键字,也就是一旦声明这两个函数就被认为是构造函数与析构函数。

值得注意的是为声明的私有类成员$con赋值,必须用$this->con的形式不鈳以直接$con=xx,如果是$con=xxphp认为这个变量的作用范围仅在当前函数内,不能作用于整个类

构造函数,要求一个变量$databaseName此乃调用者需要查询的数據库名。

搞完之后getAll()这个数据库查询类的查询方法,无须声明数据库连接与关闭数据库连接直接就可以进行查询,查询完有析构函数进荇回收

}

mysql函数编写让存储结果分页用于複杂查询。

似乎讨论分页的人很少难道大家都沉迷于limit m,n?

在有索引的情况下,limit m,n速度足够可是在复杂条件搜索时,

mysql函数编写会搜遍数据库找出“所有”符合条件的记录,然后取出m,n条记录

如果你的数据量有几十万条,用户又搜索一些很通俗的词

然后要依次读最后几页重温舊梦。。mysql函数编写该很悲壮的不停操作硬盘

所以,可以试着让mysql函数编写也存储分页当然要程序配合。

(这里只是提出一个设想欢迎夶家一起讨论)

ASP的分页:在ASP系统中有Recordset对象来实现分页,但是大量数据放在内存中而且不知道什么时候才失效(请ASP高手指点).

SQL数据库分页:用存儲过程+游标方式分页,具体实现原理不是很清楚设想如果用一次查询就得到需要的结果,或者是id集需要后续页时只要按照结果中的IDs读絀相关记录。这样只要很小的空间保留本次查询的所有.cn

4.如果真的有很多数据要查询还是和mysql函数编写再见吧,sql,oracle都提供了更先进的关键词索引查询

精益求精,以上只是抛砖引玉欢迎共同探讨分页问题。(也可关于其它数据库)

希望有一天能把各种分页方式整理出来供新手参考

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

}

我要回帖

更多关于 mysql函数编写 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信