很多站长朋友们都不太清楚php联动下拉菜单,今天小编就来给大家整理php联动下拉菜单,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 phpcms网站建设中,联动菜单怎样读取?联动菜单菜单调用方法 2、 php里多级联动下拉菜单如何做 3、 php如何把数据库与下拉框联系起来? 4、 thinkphp如何实现二级联动下拉选择框 phpcms网站建设中,联动菜单怎样读取?联动菜单菜单调用方法在phpcms中,联动菜单的管理位置位于“后台-扩展-联动菜单”,支持自定义添加。因为问题中没有具体说明在哪里调用,那我就从使用于开发的几个角度来讲联动菜单的调用:
一、我们常用的是在自定义数据模型字段中:
创建的联动菜单项将应用于后台内容(文章)添加界面。在“后台-内容-数据模型-字段管理-添加字段”中,字段类型设置为“联动菜单”,然后在“菜单id”选项处通过联动菜单列表选择你要使用的菜单,例如地区联动菜单,并可设定联动菜单的返回值的方式。然后在内容添加编辑界面可出现此联动菜单项了。
主要设置颜色如下:
编辑界面显示效果如下:
当然,菜单显示样式(下拉式、弹窗式)可在“后台-扩展-联动菜单-修改”中配置。
二、在phpcms模板中直接调用联动菜单:
此方法不常用。具体方法是来到“后台-扩展-联动菜单列表”,你会看到每一个联动菜单都有一个调用代码,将此代码复制粘贴到你想放的模板位置即可。
但根据经验,这还不够,因为虽然通过此代码把联动菜单掉出来了,但是因为缺乏此菜单显示时的css、js文件导致缺乏样式与效果从而显示不正常,所以需要保证你的模板里同时引入了一下几个文件:
statics/js/dialog.js
statics/js/linkage/js/pop.js
statics/css/dialog.css
三、在php文件中或者在模板中使用万能标签直接读取联动菜单数据表中的数据:
此方法往往在我们进行二次开发中使用。联动菜单数据存放在v9_linkage数据表中,可根据字段parentid等字段指定获取不同层级数据。
因为开发相关会涉及到phpcms的相关类方法或函数相对来说比较复杂,这里就不详细讲解了,具体可参考官方开发手册以及iphpcms的视频教程,这里给出演示代码以作了解:
php程序中调用代码演示:
$linkage_db = pc_base::load_model("linkage_model"); //引入模型
$data = $linkage_db->select(array('parentid'=>0)); //读取指定条件的数据
模板中万能标签写法演示:
{pc:get sql="select * from phpcms_linkage where parentid=0 and keyid=1" num="99"}
{loop $data $v}
<li>省份:{$v[name]}</li>
{/loop}
{/pc}
本方法中获取的是原始的数据表数据,没有签名方法中的相关html代码css样式等修饰,自己根据需求进行相应处理渲染即可。
PS: 1. 以上方法前两个偏向于系统应用,后者偏向于开发,希望对你有所帮助吧。如果仍有疑惑可以追问。2.考虑的你说的“联动菜单”有指“导航条联动下拉效果”的嫌疑,这里附注一段调用演示代码:
{pc:content action="category" catid="0" num="25" siteid="$siteid" order="listorder ASC"}
<li><div><a href="{siteurl($siteid)}/"><span>网站首页</span></a></div></li>
{loop $data $k $v}
<li><div>
<a href="{$v[url]}"><span>{$v[catname]}</span></a>
<ul class="sub_mune_ul" style="display: none; ">
{pc:content action="category" catid="$k" num="10" siteid="$siteid" order="listorder ASC"}
{loop $data $r} <li><a href="{$r[url]}">{$r[catname]}</a></li> {/loop}
{/pc}
</ul></div></li>
{/loop}
{/pc}
php里多级联动下拉菜单如何做数据库设计:
database: db;
table: sort1,sort2;
sort1-data: id name vablue
1 aa
2 bb
sort2-data: id name parent_id
1 aa-a 1
2 aa-x 1
3 bb-m 2
4 bb-j 2
在dw中放置2个跳转菜单,
在第一个select中添如下代码:
<option>---请选择---</option>
<?php
$host = "localhost";
$db_name = "db";
$username = "root";
$password = "";
$conn=mysql_connect($host,$username,$password) or die("不能链接到数据库!");
$db=mysql_select_db($db_name,$conn);
$sql="select * from sort1 order by id ASC";
$result = mysql_db_query($db_name,$sql);
while($row = mysql_fetch_array($result)) {
$sort1_id = $row["id"];
$sort1_name = $row["name"];
$sort1_value = $row["value"];
if(!$sort1_value){
$str = "<option value = '?data1=$sort1_id'";
if($row["id"] == $data1){
$str .= "selected";
}
}
else{
$str = "<option value = '$sort1_value'";
}
$str .= ">$sort1_name</option>";
echo $str;
}
?>
php如何把数据库与下拉框联系起来?要使用AJAX了,
菜单联动就可以了;
参考如下:
<?php
//require_once('conn.php'); //写个连接数据库的文件 每次包含一下就行了, 而且要写在最上面。
$con = mysql_connect("localhost","root","***");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<select>
<option>-请选择-</option>
<?php
$sql="select CID from course2";
$result=mysql_query($sql);
while($row=mysql_fetch_assoc($result)){
?>
<option value="$row['CID']"><?php echo $row['CID'] ?></option> //这个值要用php的方法取出来
<?php
}
?>
</select>
</body>
</html>
thinkphp如何实现二级联动下拉选择框可以用ajax实现。
数据库用无限级分类。比如:
省,市联动
数据库字段 id pid name
插入数据 1 0 山西
2 1 运城 3,1 吕梁
第一个下拉框,所有pid为0的数据全遍历出来。比如选择 山西。第二个下拉菜单得到
山西的id(通过jquery $(省).change()),以山西id为父id遍历所有市。
关于php联动下拉菜单的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php联动下拉菜单 php下拉框联动的详细内容...