Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->系统管理 ->正文

用PHP+MySQL构建一个招聘网站(6)

来源:Linux-cn.com 作者:Webmaster 时间:2007-05-05 点击: [收藏] [投稿]

  现在我们介绍查询职位招聘信息的子栏目的处理。这里我们基本的思路是,用户输入一定的内容,然后我们发出SQL语句,查询。这个过程很简单。这里我主要是还要介绍一个小技巧,就是如何实现分页显示结果,也就是说,如果用户查找的结果有很多条目,例如一共找到了120条,我们不可能也不应该一次性都显示在一个html页面上,如果这样做的话,用户使用起来会非常不方便的。我们应该一次显示一定用户可接受的数目条记录,然后让用户选择“下一页”之类的链接进入下一屏幕的显示。

  这里我们利用了一个参数i来传递信息。假设我们根据用户的输入构造了一个SQL语句,为q1,我们开始就发出这个q1的SQL查询,然后就可以得到总共返回的记录数目了。根据这个数值,我们就可以进一步判断是否需要构造“下一页”“前一页”之类的链接,然后发出请求获得特定条目的记录,构造sql语句,例如q2,将结果显示在页面上。参数i则记录当前这次查询的起始记录的号码,利用这个数字我们就可以限定返回的记录位置了。下面是一个例子,q1和q2分别被赋值,但是q2中多了一个参数“limit”,这个参数就指定了返回的记录的位置和范围。


$q1="select job_id, job_col2, job_col15,job_col19  from job where job_col3=0 and 
$condition";
$q2="select job_id, job_col2, job_col15,job_col19  from job where job_col3=0 and 
$condition ORDER BY job_id limit $i,$j";

  其中$i为起始位置,而$j则是结束的位置,所以这里($j-$i)就是一次显示的条目数。

  这个变量也可以自己设置。

  下面是对显示记录条目的控制:


       <tr>
          <td><font size="2"><b>一共<? echo 
	  $totalnumber ?>条记录,目前显示

的是第<? echo $i+1 ?>到第<? echo $i+$nowget ?>条 
                          <? 
                        if(($totalnumber-$i-10)>0) 
                        {
                      ?> <a href="jobparttime.php?i= <? echo $i+11 ?>">
		      下10条</a> 
                          <? } ?> <? if(($i-10)>=0) 
                        {
                     ?> <a href="jobparttime.php?i= <? echo $i-11 ?>">
		     前10条</a> 
                          <? } ?> </b></font></td>
                      </tr>

  上面的代码很容易懂,我就不做详细介绍了。

  下面是完整的代码,大家可以拷贝下去,直接使用。


<!-- #BeginTemplate "/Templates/zhaopin.dwt" --><!-- #BeginEditable
"doctitle" --> 
<title>生活168 -求职招聘-职位查找</title>
<SCRIPT language=JavaScript>
function view(Url)
{     
popup=window.open(Url,"Displaywindow","left=100,
top=30,width=700,height=400,toolb
ar=no,location=no,directories=no,status=no,menubar=no,
scrollbars=yes, resizable=no");
}
</SCRIPT>
<!-- #EndEditable -->
<body bgcolor="#FFFFFF">
<table width="95%" border="1" cellspacing="0" cellpadding="0" height="610" 
align="center" bordercolorlight="#FFFFFF" bordercolordark="#FF9966">
  <tr>
    <td width="24%" height="62" bgcolor="#FF9933"> 
      <p><b><font color="#FFFFFF" 
      size="5">WitiTech</font></b></p>
      <p><font color="#00FF00"><b><font size="5">
      求职招聘专栏
</font></b></font></p>
    </td>
    <td width="76%" height="62"> 
      <div align="right">【插入滚动的广告】</div>
    </td>
  </tr>
  <tr bgcolor="#CCCCFF"> 
    <td colspan="2" height="51"> 
      <div align="right">[旅游交通] [生活百事][旅游交通] [生活百事]
      [旅游交通] [生活百事] [娱乐咨询] [合肥介绍] 
        [...] [...] .......</div>
    </td>
  </tr>
  <tr> 
    <td colspan="2" height="500"> 
      <div align="left"> 
        <table width="100%" border="0" cellspacing="0" 
	cellpadding="0" height="504">
          <tr> 
            <td width="19%" valign="top" bgcolor="#FFFFCC"> 
              <p> </p>
              <p><a href="index.php">[首页]</a></p>
              <p><a href="jobsearch.php">[职位查询] </a></p>
              <p><a href="jobcompany.php">[公司名录]</a></p>
              <p><a href="jobresume.php">[简历中心]</a></p>
              <p><a href="jobparttime.php">[兼职特区]</a></p>
              <p><a href="jobstudent.php">[应届生区]</a></p>
              <p>[求职论坛]</p>
              <p><a href="jobregister.php"><font size="2">
	      [新职位登录]</font></a></p>
              <p><font size="2"><a href="resumereg.php">
	      [简历登录]</a></font></p>
            </td>
            <td width="81%" valign="top" align="right">
	    <!-- #BeginEditable "content" --> 
              <table width="100%" border="1" cellspacing="0" cellpadding="1" 
bordercolordark="#FFFFFF" bordercolorlight="#FF6633" height="50">
                <tr bgcolor="#FF9999"> 
                  <td><b><font size="2" color="#FFFFFF">职位查询
		  </font></b></td>
                </tr>
                <tr> 
                  <td height="79"> <?
                    if ($jobtype==NULL) 
                    {
                     ?> 
           <p>欢迎使用职位查询系统,请在相关表格里填入你感兴趣的内容,然后
点击[确认] </p>
                    <? 
                     }
                     else
                     {   
                         //查询然后显示结果
                        include("DB_MYSQL.INC"); 
          $db = new DB_Sql;
                if ($i==NULL)    $i=0;
                 $j=$i+10;
    $condition="job_col2 like '%$jobname%' and job_col4 like '%$joblocation%' 

and job_col9 like '%$jobdisribe%' ";
         switch ($jobtype) 
              {
       case 2:
       $q1="select job_id, job_col2, 

job_col15,job_col19  from job where $condition";
      $q2="select job_id, job_col2, 

job_col15,job_col19  from job where $condition ORDER BY job_id limit $i,$j";
       break;
       case 1:
      $q1="select job_id, job_col2, 

job_col15,job_col19  from job where job_col3=1 and $condition";
      $q2="select job_id, job_col2, 

job_col15,job_col19  from job where job_col3=1 and 
$condition ORDER BY job_id limit 

$i,$j";
      break;
       case 3:
      $q1="select job_id, job_col2, 

job_col15,job_col19  from job where job_col3=0 and $condition";
      $q2="select job_id, job_col2, 

job_col15,job_col19  from job where job_col3=0 and $condition 
ORDER BY job_id limit 

$i,$j";
       break;
             default:
                         echo "error input";
                         exit(3);
      break;
}
             
             $db->query($q1);
             $totalnumber=$db->num_rows();//获得兼职职位总条目数
                     ?> 
                    <table width="100%" border="1" cellspacing="0" 
		    cellpadding="1" 

bordercolordark="#FF9999" bordercolorlight="#FFFFFF">
                      <tr> 
                        <td>查询结果:一共找到<? echo $totalnumber ?>
			个相匹配的结果</td>
                      </tr>
                      <tr> 
                        <td> 
                       <table width="100%" border="1" cellspacing="0" 
		       cellpadding="1" 

height="50" bordercolordark="#FFFFFF" bordercolorlight="#FF9900">
                            <tr> 
                              <td width="19%" height="18"><font size="2">
			      <b><font 

color="#006600">职位名称</font></b></font></td>
                              <td width="62%" height="18"><font size="2">
			      <b><font 

color="#006600">招聘单位名称</font></b></font></td>
                              <td width="19%" height="18"><font size="2">
			      <b>点击次数

</b></font></td>
                            </tr>
                         <?
              //查询出第i条到第i+10条
              $db->query($q2);
              $nowget=$db->num_rows();
                  ?> <?while($db->next_record()):?> 
                            <tr> 
                              <td width="19%" height="18">
			      <font size="2"> <a 

href="javascript:view('jobview.php?job_id=<? echo $db->f(0)?>')"> 
                    <?echo $db->f(1); ?></a> </font> </td>
                   <td width="62%" height="18">
		   <font size="2"><? echo $db->f(2) 

?></font></td>
                              <td width="19%" height="18">
			      <font size="2"><? echo $db->f(3) 

?></font></td>
                            </tr>
                            <? endwhile ?> 
                          </table>
                        </td>
                      </tr>
                      <tr>
                        <td><font size="2"><b>一共<? echo 
			$totalnumber ?>条记录,目前显示

的是第<? echo $i+1 ?>到第<? echo $i+$nowget ?>条 
                          <? 
                        if(($totalnumber-$i-10)>0) 
                        {
                      ?> <a href="jobparttime.php?i= <? echo $i+11 ?>"> 
		      下10条</a> 
                          <? } ?> <? if(($i-10)>=0) 
                        {
                     ?> <a href="jobparttime.php?i= <? echo $i-11 ?>"> 
		     前10条</a> 
                          <? } ?> </b></font></td>
                      </tr>
                    </table>
                    <? } ?>
                    </td>
                </tr>
              </table>
             <table width="100%" border="1" cellspacing="0" cellpadding="1" 

bordercolordark="#FFFFFF" bordercolorlight="#FF6666">
                <tr bgcolor="#FF6666"> 
                  <td height="11"><font color="#FFFFFF"><b><font 
		  size="2">查询表格

</font></b></font></td>
                </tr>
                <tr>
                  <td>
              <form name="form1" method="post" action="jobsearch.php">
                <p>工作类型 
                  <select name="jobtype">
                          <option value="2">任意</option>
                          <option value="1">兼职</option>
                          <option value="3">全职</option>
                        </select>
                </p>
                <p>职务名称(包含关键字) 
                  <input type="text" name="jobname">
                        (不填写,表示任意,下同)</p>
                <p>工作地点 
                  <input type="text" name="joblocation">
                </p>
                <p>工作描述(包含关键字) 
                  <input type="text" name="jobdisribe">
                </p>
                <p> 
                  <input type="submit" name="Submit" value="Submit">
                  <input type="reset" name="Submit2" value="Reset">
                      </p>
              </form>


                  </td>
                </tr>
              </table>
              <p> </p>
              <!-- #EndEditable --></td>
          </tr>
        </table>
      </div>
    </td>
  </tr>
  <tr> 
    <td colspan="2"> 
      <div align="center"><font size="2" color="#333300"><b>
      <font color="#006600">版权所有 
        - WitiTech Studio, 2000</font></b></font></div>
    </td>
  </tr>
</table>

<!-- #EndTemplate -->


 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:用PHP+MySQL构建一个招聘网站(5)   下一篇:用PHP+MySQL构建一个招聘网站(7)

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章