一、TableLogic的读取方式
<tablelogic>
标签是一个自定义标签,可以读取数据库表中的数据并进行展示。该标签需要指定三个参数:tablename
、orderby
和 limit
,分别是表名、排序字段和取多少条数据。以下是一个使用 <tablelogic>
标签的例子:
<tablelogic tablename="user" orderby="id desc" limit="10">
<tr>
<td>{$id}</td>
<td>{$username}</td>
<td>{$email}</td>
</tr>
</tablelogic>
这个例子会读取 user
表中的最新 10 条记录,按照 id
字段降序排序,然后使用 HTML 的 <table>
和 <tbody>
标签进行展示,其中使用了表格输出标签和变量输出标签。整个表格展示的内容是 10 条 user
表的记录,按照 id
从大到小的顺序排列。
二、isdelete 不能置为 1
$table->setTable('news');
$data = $table->where(array('isdelete'=>0))->select();
isdelete
是很多系统中常见的一个字段,它用于记录数据是否已被删除。在 TableLogic 中,一个记录如果 isdelete
字段为 1,那么这条记录将不会被读取出来。这也是 TableLogic 支持软删除的一种用法。
以下是一个例子:这个例子中,我们使用了 Table 类中的 where
方法来指定了 isdelete
为 0 的记录。这就保证了我们只读取到没有被删除的记录。
三、TableLogic 类的使用
$table = new TableLogic('user');
$data = $table->where(array('age'=>array('gt','18')))->select();
TableLogic 类是 TableLogic 标签的底层实现类,我们可以直接使用它来读取数据库表中的数据。以下是一个例子:
这个例子中,我们使用了 TableLogic 类来读取 user
表中所有年龄大于 18 岁的记录。其中,TableLogic 类使用了 Table 类来操作数据库,但是 TableLogic 类在 Table 类基础上增加了更多的查询条件和特殊用法,使得读取数据库数据更加方便。
四、Table 类的使用
$table = new Table('user');
$data = $table->where(array('age'=>array('gt','18')))->select();
Table 类是 TableLogic 类的底层实现类,它可以方便地对数据库进行增删改查操作。以下是一个例子:
这个例子中,我们使用了 Table 类来读取 user
表中所有年龄大于 18 岁的记录。与 TableLogic 类类似,我们也可以使用 where
方法来指定查询条件。除此之外,Table 类还提供了 insert
、update
和 delete
等方法,可以方便地进行增删改操作。
五、TableLogic 常用的变量
以下是一些常用的变量:
{$fieldname}
:表示读取表中某个字段的值。{$__DATA__}
:表示当前记录的所有数据,可以使用foreach
进行遍历。{$__INDEX__}
:表示当前记录的索引,从 0 开始计数。{$__TOTAL__}
:表示查询结果总数。{$__PAGE__}
:表示当前页数。{$__PAGESIZE__}
:表示每页显示的记录数。{$__PAGECOUNT__}
:表示查询结果的总页数。 以上变量非常常用,可以方便地对数据进行展示和分页操作。
六、TableLogic 标签的高级用法
<tablelogic tablename="news" groupby="cat_id" orderby="views desc" limit="10">
<tr>
<td>{$cat_id}</td>
<td>{$title}</td>
<td>{$__TOTAL__}</td>
</tr>
</tablelogic>
TableLogic 标签还提供了很多高级的用法,比如分组查询、多表关联查询、模糊查询等等。以下是一个例子:
这个例子使用了 groupby
参数,表示按照 cat_id
字段进行分组查询。同时,我们还使用了 orderby
参数,表示按照 views
字段进行降序排序。整个结果会展示这 10 个分组中,浏览量最高的新闻,以及每个分组的新闻数量。