纯PHP实现Tab选项卡切换效果(无需JavaScript)
作者:微光时间:2026-10-25 17:27:14浏览:654
本文介绍一种纯PHP实现的Tab选项卡效果,无需依赖JavaScript。通过解析URL中的city_id参数,服务器端动态生成对应的CSS样式以高亮当前选中项,并根据参数查询数据库返回不同城市的内容列表。该方法利用PHP控制逻辑与HTML结构结合,实现了轻量级的前端交互效果。
纯PHP Tab选项卡核心逻辑与CSS生成
实现该功能的核心代码逻辑如下所示:
<style type="text/css">
<?php
if(!isset($_GET['city_id']))
{
$city_id = 12;
}
else
{
$city_id = $_GET['city_id'];
}
echo '.a'.$city_id.'
{
color:red;
}
';
for($i=12;$i<=16;$i++)
{
if($i != $city_id)
{
if ($i != 12 )
{
echo '.list'.$i.'{
background-image:url("image/style/bg.gif");
}';
}
else
{
echo '.list'.$i.'
{
background-image:url("image/style/left_bg.gif");
}
';
}
}
else
{
if($city_id != 12)
{
echo '.list'.$city_id.'
{
background-image:url("image/style/on.gif");
}
';
}else
{
echo '.list'.$city_id.'{
background-image:url("image/style/recuit_title.gif");
}';
}
}
}
?>
</style> 2.点击的时候,就可以打开链接
HTML结构构建与数据库内容交互
接下来是HTML结构部分的代码实现:
<div class="recuit_title" >
<ul id="recuit_li">
<li class="list12"><a class="a12" href="test.php?city_id=12">北京</a></li>
<?php
include_once ("config/db.inc.php");
$recuit_city_select = "select * from cdb_plugins_city where city_id in(13,14,15,16)";
$recuit_city_query = mysql_query ( $recuit_city_select );
while ( $recuit_city_row = mysql_fetch_assoc ( $recuit_city_query ) ) {
$cid = $recuit_city_row['city_id'];
echo '<li class="list'.$recuit_city_row['city_id'].'" ><a class="a'.$recuit_city_row['city_id'].'" href="test.php?city_id=' . $recuit_city_row ['city_id'] . '">' . $recuit_city_row ['city_name'] . '</a></li>';
}
?>
</ul>
<span class="more_recuit_info">
<a href="../job.php?action=recuit_list&cid=12" onClick="parent.showWindow('recuit_list',this.href);return false;">更多招募信息</a>
</span>
</div>
<div class="recuit_content">
<table width="100%">
<?php
if(!$_GET['city_id'])
{
$recuit_content_select = "select * from cdb_plugins_recuit where city_id= 12 limit 0,8";
$recuit_content_query = mysql_query($recuit_content_select);
while($recuit_content_row = mysql_fetch_assoc($recuit_content_query))
{
echo '<tr height="25">
<td>
<a onclick="parent.showWindow('.'\'recuit_info\','.'this.href'.');return false;"'.'" href="../job.php?action=recuit_info&recuit_id='.$recuit_content_row['recuit_id'].'">'.$recuit_content_row['recuit_name'].'</a>
</td>
<td width="80" align="right" style="color:#0080ff;font-size:12px;">
'$recuit_content_row['username'].'
</td>
</tr>';
}
}
else
{
$recuit_content_select = "select * from cdb_plugins_recuit where city_id={$_GET['city_id']} limit 0,10";
$recuit_content_query = mysql_query($recuit_content_select);
while($recuit_content_row = mysql_fetch_assoc($recuit_content_query))
{
echo '<tr>
<td><a onclick="parent.showWindow('.'\'recuit_info\','.'this.href'.');return false;"'.'" href="../job.php?action=recuit_info&recuit_id='.$recuit_content_row['recuit_id'].'">'.$recuit_content_row['recuit_name'].'</a></td>
<td width="80" align="right" style="color:#0080ff;font-size:12px;">'$recuit_content_row['username'].' </td>
</tr>';
}
}
?>
</table>
</div>
用户状态判断与底部操作栏实现<div class="recuit_footer">
<?php
include_once ("../include/common.inc.php");
$recuit_query = mysql_query("select * from cdb_plugins_recuit_userinfo where uid=$discuz_uid");
$recuit_rows = mysql_fetch_assoc($recuit_query);
if($recuit_rows['uid'] == '')
{
echo '<a href="../job.php?action=recuit" onclick="parent.showWindow('.'\'recuit\''.',this.href);return false;"><img src="image/style/recuit_frm_input.gif" border="0" /></a> ';
}
else
{
echo '<a href="../job.php?action=edit_recuit" onclick="parent.showWindow('.'\'edit_recuit\''.',this.href);return false;"><img src="image/style/edit_recuit.gif" border="0"/><a> ';
}
?>
</div>作者最新文章
JavaScript零基础入门:从环境搭建到运行第一段代码
2026-11-05 15:29:58
HTML链接中javascript:void(0)的作用及现代替代方案
2026-11-05 10:07:47
在线调试 JS 时怎么引入 jQuery 或 Vue 等第三方库
2026-11-05 08:53:56
原生JavaScript实现简易颜色选择器原理与代码
2026-11-03 23:22:19
JS原生表单序列化:FormData与URLSearchParams用法详解
2026-11-03 23:13:21
