在mysql中我是这样做
<?
$mylink=@mysql_connect("***","***","***") or die("无法连接到数据库!");
mysql_select_db("***",$mylink) or die("无法选择数据库!");
$mysql="select * from ??? where ()";
$result=@mysql_query($mysql,$mylink) or die("浏览失败");
$page_size=2;
if($page<=0)
{$page=1;}
$message_count=mysql_num_rows($result);
$page_count=ceil($message_count/$page_size);
$offset=($page-1)*$page_size;
$mysql="select * from ??? where () limit $offset,$page_size";
$result=@mysql_query($mysql,$mylink) or die("浏览失败");
if($result) $i=1;
?>
<?
while($myarray=mysql_fetch_array($result))
{
?>
其中是循环显示$myarray["***"]
<?}?>
<?
$i++;
$prevpage=$page-1;
$nextpage=$page+1;
if($page<=1) echo "第一页";
else echo "<a href='$PATH_INFO?page=1'>第一页</a>";
if($page<2) echo "上一页";
else echo"<a href='$PATH_INFO?page=$prevpage'>上一页</a>";
if($page+1>$page_count) echo "下一页";
else echo"<a href='$PATH_INFO?page=$nextpage'>下一页</a>";
if($page>=$page_count) echo "最后一页";
else echo"<a href='$PATH_INFO?page=$page_count'>最后一页</a>";
?>
在oracle中,我是这么做的
<?
$conn = ocilogon("****","***","*****");
$id = OCIParse($conn,"select * from ****");
OCIDefineByName($id,"****",&$a1);
OCIDefineByName($id,"****",&$a2);
OCIDefineByName($id,"****",&$a3);OCIExecute($id);
$i=0;
while (OCIFetch($id)) {echo $a1;
echo $a2;
echo $a3;
$i++;
if ($i>10) break;
}
OCIFreeStatement($id);
OCILogoff($conn);
?>
但是不成功,谁能告诉我问题出在哪?
<?
$mylink=@mysql_connect("***","***","***") or die("无法连接到数据库!");
mysql_select_db("***",$mylink) or die("无法选择数据库!");
$mysql="select * from ??? where ()";
$result=@mysql_query($mysql,$mylink) or die("浏览失败");
$page_size=2;
if($page<=0)
{$page=1;}
$message_count=mysql_num_rows($result);
$page_count=ceil($message_count/$page_size);
$offset=($page-1)*$page_size;
$mysql="select * from ??? where () limit $offset,$page_size";
$result=@mysql_query($mysql,$mylink) or die("浏览失败");
if($result) $i=1;
?>
<?
while($myarray=mysql_fetch_array($result))
{
?>
其中是循环显示$myarray["***"]
<?}?>
<?
$i++;
$prevpage=$page-1;
$nextpage=$page+1;
if($page<=1) echo "第一页";
else echo "<a href='$PATH_INFO?page=1'>第一页</a>";
if($page<2) echo "上一页";
else echo"<a href='$PATH_INFO?page=$prevpage'>上一页</a>";
if($page+1>$page_count) echo "下一页";
else echo"<a href='$PATH_INFO?page=$nextpage'>下一页</a>";
if($page>=$page_count) echo "最后一页";
else echo"<a href='$PATH_INFO?page=$page_count'>最后一页</a>";
?>
在oracle中,我是这么做的
<?
$conn = ocilogon("****","***","*****");
$id = OCIParse($conn,"select * from ****");
OCIDefineByName($id,"****",&$a1);
OCIDefineByName($id,"****",&$a2);
OCIDefineByName($id,"****",&$a3);OCIExecute($id);
$i=0;
while (OCIFetch($id)) {echo $a1;
echo $a2;
echo $a3;
$i++;
if ($i>10) break;
}
OCIFreeStatement($id);
OCILogoff($conn);
?>
但是不成功,谁能告诉我问题出在哪?
$stmt = OCIParse($conn,$query) or die;
OCIExecute($stmt); $i=0;
while(OCIFetchInto($stmt,&$id,OCI_ASSOC+OCI_RESULT_CLOB))
{
$gg[$i][1]=OCIResult($stmt,1);
$gg[$i][2]=OCIResult($stmt,2);
$gg[$i][3]=OCIResult($stmt,3);
$gg[$i][4]=OCIResult($stmt,4);
$i++;
}
for($i=$start;$i<$end;$i++)
{
?>
<tr>
<td width="38" valign="top" align="center">
<?php print $gg[$i][2];?>
(<?php echo $gg[$i][4];?>)
</td>
</tr>
<?php } ?>
$db=ora_logon($username,$password);
$curs=ora_open($db);
$sql="select a,b,c from table";
ora_parse($curs,$sql);
ora_exec($curs);
$i=0;
while(ora_fetch($curs))
{
$myora[$i][0]=ora_getcolumn($curs,0);
$myora[$i][1]=ora_getcolumn($curs,1);
$myora[$i][2]=ora_getcolumn($curs,2);
$i++;
}
$offset=15;
$pages=ceil($i/$offset);
if(empty($page))
{$page=1;}
if($page>$pages)
{$page=$pages;}
if($page<1)
{$page=1;}
$start=$page*$offset-$offset;
$end=$start+$offset;
if($end>$i)
{$end=$i;}
if($page!=1)
{
//写入上一页的连接
}
if($page!=$pages && $pages!=1)
{
//写入下一页的连接
}
运用:
for($start1=$start;$start1<$end;$start1++)
{
echo $myora[$start1][0];
echo $myora[$start1][1];
echo $myora[$start1][2];
}
//分页控制类
//宇凡 8月15日
?>
<?
class PageControl
{
var $PageAmount; //总页数
var $RecordAmount; //总记录数
var $Page; //当前页码
var $RecordRow_Per_aPage = 10; //每页显示的记录条数,事先预定,不通过程序更改
var $NextPage; //下一页的页码
var $PriorPage; //上一页的页码
var $StartIndex; //相当于每页显示的起始位置的索引
var $UsingIndex; //当前使用的数据的索引
var $arrIDList; //保存ID的数组function pagecontrol($IDList,$PageNow)
{
if (($PageNow == "") || (round($PageNow) == 0))
{
$PageNow=1;
}
$this->arrIDList = $IDList;
$this->Page = $PageNow;
$this->RecordAmount = count($IDList); if ($this->RecordAmount % $this->RecordRow_Per_aPage == 0) {
$this->PageAmount = $this->RecordAmount / $this->RecordRow_Per_aPage;
} else {
$this->PageAmount = round($this->RecordAmount / $this->RecordRow_Per_aPage);
}
$this->StartIndex = ($this->Page - 1) * $this->RecordRow_Per_aPage;
$this->UsingIndex = $this->StartIndex - 1; //这里减一的目的:得到数据的普遍方法是先Next()再Get数据,比如数据集. if ($this->Page != $this->PageAmount) {
$this->NextPage = $this->Page + 1;
} else {
$this->NextPage = $this->PageAmount;
} if ($this->Page != 1) {
$this->PriorPage = $this->Page - 1;
} else {
$this->PriorPage = 1;
}
}function next_record()
{
$result = false;
if (($this->UsingIndex != $this->RecordAmount - 1) && ($this->UsingIndex - $this->StartIndex < 9)) {
$this->UsingIndex += 1;
$result = true;
} else {
$result = false;
}
return $result;
}function get()
{
$result = $this->arrIDList[$this->UsingIndex];
return $result;
}function show_FirstLink()
{
echo " <a href=".$PHP_SELF."?p=1>最前页</a> ";
}function show_PriorLink()
{
echo " <a href=".$PHP_SELF."?p=".$this->PriorPage.">上一页</a> ";
}function show_NextLink()
{
echo " <a href=".$PHP_SELF."?p=".$this->NextPage.">下一页</a> ";
}function show_LastLink()
{
echo " <a href=".$PHP_SELF."?p=".$this->PageAmount.">最后页</a> ";
}function show_JumpForm()
{
echo "<FORM METHOD=POST ACTION=".$PHP_SELF.">直接到<INPUT TYPE=text NAME=p size=2 class=input>页 <INPUT TYPE=submit value=GOGOGO class=bottem></FORM>";
}}
?>
// $linePerPage 每页的行数$conn=ocilogon("","");
$stmt=ociparse($conn,"");
ocidefinebyname($stmt,"",&$a);
ociexecute($stmt);
$i=0;
while(ocifetch())
{
$i++;
if($i=<($pagenum-1)*linePerPage)
continue;
if($i>$pagenum*linePerPage)
break;
echo $a;
}
ocifreestatement($stmt);
ocilogoff($conn);
if($pagenum>1)
echo"<a href=\" \">上一页</a>";
if($pagenum<$lastPageNo)
echo""<a href=\" \">下一页</a>";