CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  PHP

如何用php动态创建这个js菜单?

楼主bombshell(水中鱼)2003-12-03 19:57:07 在 Web 开发 / PHP 提问

生成的js代码是这个格式的  
   
  mpmenu1=new   mMenu('业务管理','','self','','','','');  
  mpmenu2=new   mMenu('统计查询','','self','','','','');  
  mpmenu1.addItem(new   mMenuItem('门诊收费','mzsf.php','top',false,'门诊收费窗口','','','',''));  
  mpmenu1.addItem(new   mMenuItem('发票作废','fpzf.php','top',false,'发票作废窗口','','','',''));  
  mpmenu2.addItem(new   mMenuItem('当日发票','drfp.php','top',false,'当日发票窗口','','','',''));  
  mpmenu2.addItem(new   mMenuItem('历史发票','lsfp.php','top',false,'历史发票窗口','','','',''));  
   
   
  这是表结构:  
  create   table   s_modes(  
  users   varchar(20)   not   null,  
  modes   varachar(10)   not   null,  
  menu_id   smallint(2)   not   null   primary   key,  
  menu_name   varchar(20)   not   null  
  )  
  insert   into   s_modes   values('yjq','1','11','业务管理');  
  insert   into   s_modes   values('yjq','1','12','统计查询');  
   
  create   table   s_freedom(  
  menu_id   smallint(2)   not   null,  
  sun_id         int(4)   not   null   primary   key,  
  sun_name     varchar(20)   not   null,  
  php_url       varchar(20)   ,  
  freedom       tinyint(1)   not   null  
  )  
  insert   into   s_freedom   values('11','1101','门诊收费','mzsf.php','1');  
  insert   into   s_freedom   values('11','1102','发票做费','fpzf.php','1');  
  insert   into   s_freedom   values('12','1201','当日发票','drfp.php','1');  
  insert   into   s_freedom   values('12','1202','历史发票','lsfp.php','1'); 问题点数:200、回复次数:6Top

1 楼bombshell(水中鱼)回复于 2003-12-03 19:58:49 得分 0

这是代码(有问题):  
  <?  
  function   f_get_qx()  
  {  
                  $host   =   "localhost";  
                  $user   =   "root";  
                  $password   =   "";  
                  $database   =   "test";  
                  $db_link   =   mysql_pconnect($host,   $user,   $password);  
                  if   (!@mysql_select_db($database))  
              {  
                  echo   "程序检测到,不能选择的数据库   $database";  
                  return   0;  
              }  
        $sql1   =   "select   count(*)   as   rowcount   from   s_modes   where   users='yjq'and   modes='1'";  
        $result   =   mysql_query($sql1);  
        $row   =   mysql_fetch_array($result);  
        for   ($i   =   1   ;   $i<=$row['rowcount']   ;   $i++)  
        {  
                          $menuid   =   $i+10;  
                          $sql2   =   sprintf("select   sun_name,menu_url,freedom   from   s_freedom   t1   left   join   s_modes   t2   on   t1.menu_id   =   t2.menu_id   where   t2.menu_id='%d'",$menuid);  
                                $result2   =   mysql_query($sql2);  
                                while($row2   =   mysql_fetch_array($result2))  
                                {  
                                                    $r_sun_name[]   =   $row2['sun_name'];  
                                                $r_menu_url[]   =   $row2['menu_url'];  
                                                $r_freedom[]   =   $row2['freedom'];  
   
                                }  
   
                                $menus   =   "mpmenu$i=new   mMenu('业务管理','','self','','','','');";  
                                $menus   .="mpmenu$i=new   mMenu('统计查询','','self','','','','');";  
                                foreach   ($r_sun_name   as   $key=>$value)  
                                {  
                          if   ($r_freedom[$key]==   1)  
                                {  
                                                //为什么$i取不到1  
   
                                  $menus   .="mpmenu$i.addItem(new   mMenuItem('$value','$r_menu_url[$key]','self',false,'门诊收费窗口','','','',''));";  
   
                                }  
   
                                }  
   
   
          }  
                          $menus   .=   "mwritetodocument();";  
                                                $menus   .="</script>";  
                                                echo   $menus;  
    }  
   
   
  ?>  
  <html>  
  <head>  
  <title>测试菜单的全县系统</title>  
  </head>  
  <body>  
  <?  
  f_get_qx();  
   
  ?>Top

2 楼kingerq(多菜鸟)回复于 2003-12-04 09:00:19 得分 10

upTop

3 楼zzh26(瞌睡)回复于 2003-12-04 09:09:54 得分 20

$menus   =   "mpmenu$i=new   mMenu('业务管理','','self','','','','');";  
  $menus   .="mpmenu$i=new   mMenu('统计查询','','self','','','','');";  
  应该改成  
  $menus   .=   "mpmenu$i=new   mMenu('业务管理','','self','','','','');";  
  $menus   .="mpmenu$i=new   mMenu('统计查询','','self','','','','');";  
  你原来的运行到$i==2时$menus被重新赋值了  
   
  Top

4 楼xuzuning(唠叨)回复于 2003-12-04 09:19:12 得分 80

sql指令有误  
  create   table   s_modes(  
  users   varchar(20)   not   null,  
  modes   varchar(10)   not   null,  
  menu_id   smallint(2)   not   null   primary   key,  
  menu_name   varchar(20)   not   null  
  );  
  insert   into   s_modes   values('yjq','1','11','业务管理');  
  insert   into   s_modes   values('yjq','1','12','统计查询');  
   
  create   table   s_freedom(  
  menu_id   smallint(2)   not   null,  
  sun_id         int(4)   not   null   primary   key,  
  sun_name     varchar(20)   not   null,  
  php_url       varchar(20)   ,  
  freedom       tinyint(1)   not   null  
  );  
  insert   into   s_freedom   values('11','1101','门诊收费','mzsf.php','1');  
  insert   into   s_freedom   values('11','1102','发票做费','fpzf.php','1');  
  insert   into   s_freedom   values('12','1201','当日发票','drfp.php','1');  
  insert   into   s_freedom   values('12','1202','历史发票','lsfp.php','1');  
   
  function   f_get_qx()   {  
      $host   =   "localhost";  
      $user   =   "root";  
      $password   =   "";  
      $database   =   "test";  
      $db_link   =   mysql_pconnect($host,   $user,   $password);  
      if   (!@mysql_select_db($database))   {  
          echo   "程序检测到,不能选择的数据库   $database";  
          return   0;  
      }  
   
      $menus   =   "<script>\n";  
      $sql1   =   "select   *   from   s_modes   where   users='yjq'   and   modes='1'";  
      $result   =   mysql_query($sql1);  
      $i   =   1;  
      while($row   =   mysql_fetch_array($result))   {  
          $menu_id   =   $row[menu_id];  
          $menus   .=   "mpmenu$i=new   mMenu('$row[menu_name]','','self','','','','');\n";  
          $sql2   =   "select   *   from   s_freedom   where   menu_id=$menu_id";  
          $result2   =   mysql_query($sql2);  
          while($row2   =   mysql_fetch_array($result2))   {  
              $r_sun_name   =   $row2['sun_name'];  
              $r_php_url   =   $row2['php_url'];  
              $r_freedom   =   $row2['freedom'];  
              $menus   .="mpmenu$i.addItem(new   mMenuItem('$r_sun_name','$r_php_url','top',false,'{$r_sun_name}窗口','','','',''));\n";  
          }  
          $i++;  
      }  
      $menus   .=   "mwritetodocument();\n";  
      $menus   .="</script>";  
      echo   $menus;  
  }  
   
  输出结果  
  <script>  
  mpmenu1=new   mMenu('业务管理','','self','','','','');  
  mpmenu1.addItem(new   mMenuItem('门诊收费','mzsf.php','top',false,'门诊收费窗口','','','',''));  
  mpmenu1.addItem(new   mMenuItem('发票做费','fpzf.php','top',false,'发票做费窗口','','','',''));  
  mpmenu2=new   mMenu('统计查询','','self','','','','');  
  mpmenu2.addItem(new   mMenuItem('当日发票','drfp.php','top',false,'当日发票窗口','','','',''));  
  mpmenu2.addItem(new   mMenuItem('历史发票','lsfp.php','top',false,'历史发票窗口','','','',''));  
  mwritetodocument();  
  </script>Top

5 楼zzh26(瞌睡)回复于 2003-12-04 09:34:31 得分 80

需要修改成  
  <?  
  function   f_get_qx()  
  {  
                  $host   =   "localhost";  
                  $user   =   "root";  
                  $password   =   "dept3721";  
                  $database   =   "6300online";  
                  $db_link   =   mysql_pconnect($host,   $user,   $password);  
                  if   (!@mysql_select_db($database))  
              {  
                  echo   "程序检测到,不能选择的数据库   $database";  
                  return   0;  
              }  
        $sql1   =   "select   *   from   s_modes   where   users='yjq'and   modes='1'";  
        $result   =   mysql_query($sql1);  
        $i=0;  
        while   ($row   =   @mysql_fetch_array($result))  
        {$i+=1;  
                          $menuid   =   $i+10;  
                          $sql2   =   sprintf("select   sun_name,php_url,freedom   from   s_freedom   t1   left   join   s_modes   t2   on   t1.menu_id   =   t2.menu_id   where   t2.menu_id='%d'",$menuid);  
                                $result2   =   mysql_query($sql2);  
    //echo   $sql2;  
                                while($row2   =   mysql_fetch_array($result2))  
                                {  
                                                    $r_sun_name[]   =   $row2['sun_name'];  
                                                $r_menu_url[]   =   $row2['menu_url'];  
                                                $r_freedom[]   =   $row2['freedom'];  
   
                                }  
   
                                $menus.=   "mpmenu$i=new   mMenu('$row[menu_name]','','self','','','','');";  
        reset   ($r_sun_name);  
                                foreach   ($r_sun_name   as   $key=>$value)  
                                {  
                          if   ($r_freedom[$key]==   1)  
                                {  
                                                //为什么$i取不到1  
   
                                  $menus   .="mpmenu$i.addItem(new   mMenuItem('$value','$r_menu_url[$key]','self',false,'门诊收费窗口','','','',''));";  
   
                                }  
   
                                }  
   
   
          }  
                          $menus   .=   "mwritetodocument();";  
                                                $menus   .="</script>";  
                                                echo   $menus;  
    }  
   
   
  ?>  
  <html>  
  <head>  
  <title>测试菜单的全县系统</title>  
  </head>  
  <body>  
  <?  
  f_get_qx();  
   
  ?>  
  Top

6 楼xinchangpeng(我是小猪)回复于 2003-12-04 11:56:46 得分 10

upTop

相关问题

  • 动态创建菜单???
  • 动态创建菜单
  • 关于创建菜单
  • 动态 菜单 创建
  • 高分求一js菜单
  • 如何动态创建菜单项?
  • 如何用表创建动态菜单
  • 动态创建菜单的问题!
  • 如何动态创建弹出菜单
  • 如何用javascript创建树形菜单

关键词

  • 查询
  • 业务
  • php
  • 管理
  • null
  • mpmenu
  • freedom
  • menus
  • 统计查询
  • self

得分解答快速导航

  • 帖主:bombshell
  • kingerq
  • zzh26
  • xuzuning
  • zzh26
  • xinchangpeng

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo