在线QQ客服:1922638
专业的SQL Server、MySQL数据库同步软件
最近几天,我一直在一个网站上工作,涉及导航管理功能!这位领导人说不应使用它,但是由于他自己提出了要求,因此他从事一日活动。负责人说,这种导航管理是没有必要的!很容易涉及很多问题!估算是客户少的原因!
没有办法浪费我一天的劳动!张贴在这里,一是与您沟通,二是希望每个人都可以变砖。我相信每个人的积木都能使我变得更好!我可以学习更多的知识!
我的主要PHP鸟!希望你能给我建议!
上码!
首先,HTML代码!主要实现!该表中的一个表,没有添加任何CSS样式,因为要执行此步骤,当您要添加样式时,组长说不!我不再这样做了!
我直接复制了我制作的数据,并将数据存储在表中!我用CI框架做到了!因此数据是通过PHP代码段输出的! $ nav_array是从数据库中获取的导航数组
\ lt; div \ gt;这是导航管理界面\ lt;/ div \ gt;
\ lt; 表单 方法 =" post" \ gt;
\ lt; 表格 类 ="表格" 边框 =" 1" style =" border-collapse:塌陷" \ gt;
\ lt; thead \ gt; \ lt; tr \ gt; \ lt; th \ gt;顺序\ lt;/ th \ gt; \ lt; th \ gt;导航名称\ lt;/ th \ gt; \ lt; th \ gt;管理\ lt;/ th \ gt; \ lt;/ tr \ gt; \ lt;/ thead \ gt;
\ lt; tbody \ gt;
\ lt ; php foreach($ nav_array作为$ key = \ gt; $ value): ? \ gt;
\ lt; tr num =" \ lt ; php echo $ value [" id"]?\ gt;" navid /span> =" \ lt ; php echo $ value [" id"]; ?\ gt;" \ gt;
\ lt; td \ gt; \ lt ; php echo $ value [" sort"] ? \ gt; \ lt;/ td \ gt;
\ lt; td \ gt; \ lt ; php echo $ value [" nav_name"] ? \ gt; \ lt;/ td \ gt;
\ lt;!- \ lt; td \ lt; button class =" button" num =" -\ gt; \ lt; ? php//echo $ value [" id"] ?\ gt; \ lt;!- " \ gt;编辑\ lt;/按钮\ lt;/td> -\ gt;
\ lt;/ tr \ gt;
\ lt ; php endforeach ? \ gt;
\ lt;/ tbody \ gt;
\ lt;/ 表 \ gt;
\ lt;/ 表单 \ gt;
单击更改实现Jquery代码!主要思想是使用empty擦除原始表中的数据并添加输入的一部分
此输入html代码应可用于for循环!我很懒!有兴趣自己研究!
$("。表")。 on(" click",".button",函数 (){ var num = $(此)。 attr(" num"); // 当前点击事件的按钮标志
var current_tr = $("表格")。查找(" tr [num =" =" + num +""]"); // 当前点击事件的Tr线
var current_tds = $(current_tr).find(" td"); // 当前点击事件所在行的所有td
var navid = $(current_tr).attr(" navid"); // 这是导航的ID,是主键
// 将td的原始值存储在当前点击事件行中,用于显示下面的表单
var arr = [];
for(var i = 0; i \\ u_currentds。长度;我++ ){
arr [i] = $(current_tds).eq(i).text();
}
// 要替换的HTML代码
var td_html =" \ lt; td \ gt; \ lt;输入类型="隐藏" name =" nav_id" value ="" + navid +"" \ gt; \ lt;输入类型="文本"名称=" sort"值="" + arr [0] +"" \ gt; \ lt;/td \ gt; \ lt; td \ gt; \ lt;输入类型="文本"名称=" nav_alter"值="" + arr [1] +"" \ gt; \ lt;/td \ gt; \ lt; td \ gt; \ lt;输入类型="提交" name ="" value =" OK" \ gt; \ lt;/td \ gt;" ;
$("。table")。找到(" tr [num ="" + num +""]" )。空()。追加(td_html);
});
PHP代码,我直接从这里的代码中复制了它,没有修改!如果有缺点,欢迎纠正我!如果您了解它,则应该可以将其更改为自己的代码
索引主要是使用CI输入类加载此页面,发布接收数据,从数据库中提取第一级导航,然后验证发布中的数据是否存在于数据库中的数据中!
公共 函数 索引(){ $ nav_id = $ this-\ gt;输入->发布(" nav_id"); // 导航ID
$ nav_name = $ this-\ gt;输入->发表(" nav_alter"); // 修改的导航名称
$ sort = $ this-\ gt;输入->发布("排序"); // sort num
$ data [" nav_array"] = $ this-\ gt; m_nav_manage-\ gt; getNav(); // 从数据库中提取所有第一级导航
//检查帖子中的数据是否已经存在于数据库中
如果($ nav_name || $ sort ){
如果(!$ this-\ gt; check_nav_in_array($ nav_name,$ data [" nav_array"]))||!$ this-\ gt; check_nav_in_array($ sort,$ data [" nav_array" ]))){
$ this-\ gt; m_nav_manage-\ gt; up_data_nav($ nav_name,$ sort,$ nav_id );
$ data [" nav_array"] = $ this-\\ gt; m_nav_manage-\ gt; getNav();
// 重写数据库并提取数据
}
}
$ this-\ gt;加载-> view(" nav_manage",$ data );
}
私有 函数 check_nav_in_array($值,$数组 ){
表示($ i = 0; $ i \ lt; count($ array); $ i ++ ){
foreach($ array as $ key = \ gt; $ value ){
如果(in_array($ value,$ array [$ i ])){
返回 是 ;
}
}
}
}
模型中还有另一个功能,主要用于更新数据和更改排序
实施思路—-主要使用传递的排序,$ navid是从隐藏的输入中提交的。 这三个变量是帖子中的数据
此实现更加复杂!简而言之$ nav_a \获取此导航的ID。 $ nav_b得到这种导航
该功能已实现,我还没有尝试过! ~~让自己慢慢思考!
由get_one()生成的select语句。 SELECT ID FROM $ this-\>表WHERE sort = $ sort; 其他自己研究!
public function up_data_nav($ navName,$ sort,$ navId ){ $ nav_a = $ this-\ gt; m_common-\ gt; get_one(" id",$ this-\ gt;表,array(" sort" = \ gt; $ sort)); // 要更改为$ sort的导航的ID
$ nav_b = $ this-\ gt; m_common-\ gt; get_one(" sort",$ this-\ gt;表,array(" id" = \ gt; $ navId)); // 编辑Nav排序
//print_r($ nav_a); print_r($ nav_b);死 ();
$ nav_alter_array [" nav_name"] = $ navName ;
$ nav_alter_array [" sort"] = $ sort ;
// print_r($ nav_alter_array);死 ();
$ this-\ gt; m_common-\ gt; up_data($ this-\ gt;表,$ nav_alter_array,数组(" id" = \ gt; $ navId ));
$ this-\ gt; m_common-\ gt; up_data($ this-\ gt;表,array(" sort" = \ gt; $ nav_b [" sort"]),array(" id" = \ gt; $ nav_a [" id" ])));
}
public function get_one($字段 =" *",$表,$ where ){
如果($ where!="" ){
返回 $ this-\ gt; db-\ gt;选择($字段)-\ gt;来自($ table)-\ gt;其中($其中)-\ gt;获取()-\\ u> row_array();
} 其他
返回 $ this-\ gt; db-\ gt;选择($字段)-\ gt;来自($ table)-\ gt;获取()-\\ u> row_array();
}
}
\