纯PHP实现Tab选项卡切换效果(无需JavaScript)

作者:微光

时间:2026-10-25

浏览:653

本文介绍一种纯PHP实现的Tab选项卡效果,无需依赖JavaScript。通过解析URL中的city_id参数,服务器端动态生成对应的CSS样式以高亮当前选中项,并根据参数查询数据库返回不同城市的内容列表。该方法利用PHP控制逻辑与HTML结构结合,实现了轻量级的前端交互效果。

文章目录
1.根据get判断,获取get生成css

纯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'].'&nbsp;&nbsp;
</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'].'&nbsp;&nbsp;</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>&nbsp;&nbsp;';
} 
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>&nbsp;&nbsp;';
} 
?> 
</div>

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章