message_list.php

来自「php模块设计。。。里面的模块很有学习价值」· PHP 代码 · 共 126 行

PHP
126
字号
<?
	include("up.htm");
	// 导入两个数据库元件 BEGIN
	include("db_conn.php");
	include("db_func.php");
	// 导入两个数据库元件 END

	// 取出留言数据并依发布时间递减排序的 SQL 语句
	$SQLStr = "SELECT * FROM message ORDER BY m_time DESC";

	$res = db_query($SQLStr); // 执行 SQL 命令

?>

  <table width="750" border="0" align="center" cellpadding="0" cellspacing="1">
    <tr bgcolor="#0066CC"> 
      <td width="290" align="center">
        <font color="#FFFFFF">留言主题</font>
      </td>
      <td width="300" align="center"> 
        <font color="#FFFFFF">留言内容</font>
      </td>
      <td width="60"> 
        <font color="#FFFFFF">留言人</font>
      </td>
      <td width="100"> 
        <font color="#FFFFFF">留言时间</font>
      </td>
    </tr>
<?
	if (db_num_rows($res)>0) // 若表中有数据
	{

		$num = db_num_rows($res); // 取得数据笔数
		$check = $p+10; // 每页抓取 10 笔数据

		// 呈现留言列表的字段内容 BEGIN
		for ($i=0;$i<=$num;$i++) // 用来呈现多笔留言数据的循环
		{
		  $row = db_fetch_array($res);

		  // 选取第 $p 笔到 $check 笔数据
		  if ($i>=$p && $i<$check) 
		  {
			// 利用是否被整除来判断字段的背景颜色
			if ($i%2 == 0) 
			  echo "<tr bgcolor='#DDDDDD'>";
			else
			  echo "<tr>";

			// 判断 m_title 字段内字符串值是否超过 15 字符
			if (strlen($row['m_title'])>15)
			{
			  echo "<td width='280'><a href='message_show.php?m_id=".$row['m_id']."'>";
			  echo substr($row['m_title'],0,30) . "...</a></td>";
			}
			else
			{
			  echo "<td width='280'><a href='message_show.php?m_id=".$row['m_id']."'>";
			  echo $row['m_title'] . "</a></td>";
			}
			// 判断 m_content 字段内字符串值是否有包含 <br> 字符串
			if (stristr($row['m_content'],"<br>"))
			{
			  echo "<td width='300'><a href='message_show.php?m_id=".$row['m_id']."'>";
			  echo substr($row['m_content'], 0, 0 - strlen(strstr($row['m_content'],"<br>"))) . "...</a></td>";
			}
			else
			{
			  echo "<td width='300'><a href='message_show.php?m_id=".$row['m_id']."'>";
			  echo $row['m_content'] . "</a></td>";
			}
			echo "<td width='60' align='center'><a href='mailto:". $row['m_mail'] . "'>" . $row['m_user'] . "</a></td>";

			// 仅选取 m_time 字段内 16 个字符的数据 
			echo "<td width='130' align='center'>" . substr($row['m_time'],0,16) . "</td>";
			echo "</tr>";
			$j = $i+1;
		  }
		}
		// 呈现留言列表的字段内容 END
	}
?>
  </table>
  <br>
  <table width="406" border="0" align="center">
    <tr>
      <td align="center">
	<!--- 将 p 值设为 0, 让模块从第一笔数据开始抓取 ---->
        <a href="message_list.php?p=0">第一页</a>
      </td>
      <td align="center">
<?	
	if ($p>9) // 判断是否有上一页
	{
	  $last = (floor($j/10)*10)-10;
	  echo "<a href='message_list.php?p=$last'>上一页</a>";
	}
	else
	  echo "上一页";
?>
      </td>
      <td align="center">
<?	
	if ($i>9 and $num>$check) // 判断是否有下一页
	  echo "<a href='message_list.php?p=$j'>下一页</a>";
	else
	  echo "下一页";
?>

      </td>
      <td align="center">
<?	
	if ($i>9) // 判断目前呈现的笔数之后是否还有页面
	{
	  // 取得最后一页的第一笔数据
	  $final = floor($num/10)*10;
	  echo "<a href='message_list.php?p=$final'>最后一页</a>";
	}
	else
	  echo "最后一页";
?>
      </td>
    </tr>
  </table>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?