将php文本数据库中按值显示且分页显示的方法!

现在一个文本数据库内容为:(data.txt)
<?die();?>|生活|1194616039|2|wu|
<?die();?>|生活|1194616039|2|xu|
<?die();?>|生活|1194616039|2|wu|
<?die();?>|生活|1194616039|2|wu|
<?die();?>|生活|1194616039|2|en|
<?die();?>|生活|1194616039|2|wu|
<?die();?>|生活|1194616039|2|wu|
<?die();?>|生活|1194616039|2|wu|
<?die();?>|生活|1194616039|2|en|
<?die();?>|生活|1194616039|2|en|
<?die();?>|生活|1194616039|2|wu|
<?die();?>|生活|1194616039|2|wu|
<?die();?>|生活|1194616039|2|wu|
<?die();?>|生活|1194616039|2|wu|
<?die();?>|生活|1194616039|2|wu|

现在假设wu 已登录 用程序显示出来结果
属于wu 的值有:

<?php
$data="data.txt";//数据文件
$rall = @file($data);

//分页程序
if (!$page) $page=1;
$icount=count($rall);
$start=($page-1)*10;
if (($start+10-1)<$icount){$end=$start+10;}
else $end=$icount;
$lastpage=floor(($icount-1)/10)+1;
$shang=strval($page-1);
$xia=strval($page+1);
if ($page<>1) $pageshang="<a href=\"?ml/$shang\" title=\"上一页\">‹</a> ";
if ($page<>$lastpage) $pagexia="<a href=\"?ml/$xia\" title=\"下一页\">›</a>";
$pagediyi="<a href=\"?ml/1\" title=\"首页\">«</a>";
$pagezuihou="<a href=\"?ml/$lastpage\" title=\"末页\">»</a>";
for ($i=$page; $i<$page+8; $i++){
if ($i<=$lastpage) $pagexiangxi.=" <a href=\"?ml/$i\">$i</a> ";
else break;
}
$pagexianzai="<span style=\"color: #4ab3e6\">".$page."</span>/".$lastpage;

$showli="";
for ($i=$start; $i<$end; $i++){
$latest=explode("|",$rall[$i]);
if ($latest[4]=="wu") {//此为检查是否与已登录名匹配
$showli.=$latest[1];
}
}
$page1="$pagexianzai $pagediyi $pageshang $pagexiangxi $pagexia $pagezuihou"; //分页显示结束

echo $showli;
echo $page1;
?>
现在的问题时如果将结果显示了,也分页了。
但这样只能是按照数据库中的每10个中有几个匹配第一页就显示几个,而不是显示10个结果值!
第二页也是这样,不能显示全10个,只是按照数据库中每10个有几个匹配wu才显示几个。
请大家帮忙!

//如果data.txt不是很大的话
//可以先把data.txt遍历一遍,把符合条件的行,存储在一个临时文件里
$lines=file("data.txt");
if (file_exists("temp.txt")) unlink("temp.txt");
$fp=fopen("temp.txt","a");
foreach ($lines as $v) {
$line=explode("|",$v);
if ($line[4]=="wu") fwrite($fp,$v."\r\n");
}
fclose($fp);
if (file_exists("temp.txt")) $rall=file($data);

//分页部分
...
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网