php+dojo 的数据库保存拖动布局的一个方法dojo 这里下载

看老大介绍的dojo框架,学习着写了下。刚开始学习php 请大家指教下!发现发不了附件。发两个代码大家自己体会了。


代码如下:

<?php 
session_start(); 
if ($_SESSION['gh']==''){ 
header('location:login.php');  

include("config.php"); 
$sql="select * from module";  
$result=mssql_query($sql,$conn); 
$num=mssql_num_rows($result); 
//echo $num; 
?> 
<style type="text/css">  
<!--  
#container0 {  
border:1px dotted #990033; 
height: 10px; 
margin: 10px;  

-->  
</style> 
<script type="text/javascript" src="include/dojo.js"></script> 
<script type="text/javascript"> 
//引用以下两个dojo包  
dojo.require("dojo.style"); 
dojo.require("dojo.dnd.*"); 
function init(){ 
  //利用classname取到元素列表,将其注册为dojo.dnd.HtmlDragSour 
  var arr=dojo.html.getElementsByClass('divdrag') 
  for(var i=0;i<arr.length;i++){ 
   var parentDiv=arr.parentNode.id 
   new dojo.dnd.HtmlDragSource(arr,parentDiv);    
  } 
  //定义容器  
new dojo.dnd.HtmlDropTarget("container0", ["container0",<?php for ( $p = 1 ; $p <= $num ; $p ++) { 
echo '"'.'container'.$p.'"'; 
if ($p != $num){ 
  echo ","; 

  } 
  echo ']); ';

for ($p =1 ; $p <=$num ;$p++){ 
  echo chr(13).'new dojo.dnd.HtmlDropTarget("container'.$p.'", ["container0",'; 
   for ($o =1 ;$o <= $num;$o++){ 
  echo '"container'.$o.'"'; 
  if ($o != $num){ 
   echo ","; 
  }   

  echo ']); ';   
  } 
  echo chr(13);

?> 
}   
//增加到window.onload事件中 
window.onload=function(){init();} 
function bjsave() { 
gr="" 
<?php 
$sql='select id from module'; 
$result=mssql_query($sql,$conn); 
while($myrow=mssql_fetch_array($result)) 
echo 'if (mokuai'.$myrow['id'].'.parentElement.id !="container0") {'.chr(13).'gr=gr+'.$myrow['id'].'+"|"+ mokuai'.$myrow['id'].'.parentElement.id+ "$"'.chr(13).'}'.chr(13); 
?> 
form1.gr.value=gr; 
form1.submit(); 

</script> 
<div id="overDiv" STYLE="position:absolute; visibility:hide; z-index: 1;"></div> 
<div id="container0"> 
<?php 
$sql='select * from module where id not in (select mokuaiid from geren where gh ='.$_SESSION['gh'].')'; 
$result=mssql_query($sql,$conn); 
while($myrow=mssql_fetch_array($result)) 
echo '<span class="divdrag" id="mokuai'.$myrow['id'].'" style="border:1px dotted #990033;height: 20px;width:100px;margin: 5px; " title="'.$myrow['mmark'].'">'.$myrow['mn'].'</span>'; 
?> 
</div> 
<table width="98%" border="1" cellspacing="0" cellpadding="0"> 
  <tr> 
    <td width="150" valign="top"> 
<?php 
for ($p=1; $p<=$num;$p=$p+2){  
  echo '<div id="container'.$p.'" style="border:1px dotted #990033;height: 100px;margin: 10px; ">'; 
  $sql='select mokuaiid from geren where biaogeid='.$p.' and gh ='.$_SESSION['gh']; 
  $result=mssql_query($sql,$conn); 
  while($myrow=mssql_fetch_array($result)){ 
   $sql='select * from module where id='.$myrow['mokuaiid']; 
   $result1=mssql_query($sql,$conn);    
   while($myrow1=mssql_fetch_array($result1)){ 
    echo '<span class="divdrag" id="mokuai'.$myrow1['id'].'" style="border:1px dotted #990033;height: 20px;width:100px;margin: 5px; " title="'.$myrow1['mmark'].'">'.$myrow1['mn'].'</span>'; 
   } 
  }      
  echo '</div>';  
}   
?></td> 
    <td width="150" valign="top"> 
<?php 
for ($p=2; $p<=$num;$p=$p+2){  
  echo '<div id="container'.$p.'" style="border:1px dotted #990033;height: 100px;margin: 10px; ">'; 
  $sql='select mokuaiid from geren where biaogeid='.$p.' and gh ='.$_SESSION['gh']; 
  $result=mssql_query($sql,$conn); 
  while($myrow=mssql_fetch_array($result)){ 
   $sql='select * from module where id='.$myrow['mokuaiid']; 
   $result1=mssql_query($sql,$conn);    
   while($myrow1=mssql_fetch_array($result1)){ 
    echo '<span class="divdrag" id="mokuai'.$myrow1['id'].'" style="border:1px dotted #990033;height: 20px;width:100px;margin: 5px; " title="'.$myrow1['mmark'].'">'.$myrow1['mn'].'</span>'; 
   } 
  }      
  echo '</div>';  
}   
?> 
</td>  
  </tr> 
</table> 
<input type="button" name="Submit" value="保存布局" onclick="bjsave();" /> 
<form id="form1" name="form1" method="post" action="savegr.php"> 
<input name="gr" type="hidden" value="" /> 
</form>

代码如下:

<?php 
session_start(); 
if ($_SESSION['gh']==''){ 
header('location:login.php');  

include("config.php"); 
$sql='delete from geren where gh='.$_SESSION['gh']; 
mssql_query($sql); 
$gr=str_replace("container","",$_POST['gr']); 
//echo $gr; 
$array = explode("$", $gr); 
for ($i=0;$i<=count($array)-2;$i++){ 
$add=explode("|",$array[$i]); 
$sql='insert into geren (mokuaiid,biaogeid,gh) values ("'.$add[0].'","'.$add 
[1].'","'.$_SESSION['gh'].'")'; 
//echo $sql.'<br>'; 
mssql_query($sql); 

header("location:view.php"); 
?>

dojo 这里下载 http://download.dojotoolkit.org/release-0.3.1/dojo-0.3.1-ajax.zip

(0)

相关推荐

  • 用javascript做拖动布局的思路

    好了,转入正文,在开始之前先介绍几个功能函数! 1.格式化事件的函数 复制代码 代码如下: function getEvent(){       //同时兼容ie和ff的写法       if(document.all)    return window.event;       func=getEvent.caller;       while(func!=null){           var arg0=func.arguments[0];           if(arg0){     

  • 基于jquery的拖动布局插件

    复制代码 代码如下: (function($){ $.fn.lsMovePanel=function(){ var id=this.attr("id"); var X=Y=0; var offsetX=offsetY=0;//绝对位置 var OldIndex=0;///存储原始索引 var Temp_Li="<li id=\"Temp_Li\" style=\"background-color:#FFFFFF;border-color:#

  • 拖动布局之保存布局页面cookies篇

    我实现的方法是记录每列拥有的拖动对象,这样在初始或刷新的时候读取这列有哪些拖动对象,直接把拖动对象通过appenChild加进去就可以了,比如拖动后列的id为col2,在这一列的拖动对象的id为col1_2,col3_1,col2_1,我就把col2=col1_2|col3_1|col2_1记录下来,在刷新页面的时候就读取col2的值,循环通过document.getElementById(col2).appendChild(document.getElementById(col1_2))实现显

  • php+dojo 的数据库保存拖动布局的一个方法dojo 这里下载

    看老大介绍的dojo框架,学习着写了下.刚开始学习php 请大家指教下!发现发不了附件.发两个代码大家自己体会了. 复制代码 代码如下: <?php  session_start();  if ($_SESSION['gh']==''){  header('location:login.php');   }  include("config.php");  $sql="select * from module";   $result=mssql_query($

  • jQuery拖动布局其结果保存到数据库

    最近的项目中涉及到了用户个性化定制首页的需求,用户要求可以随意拖动首页模块的位置,来实现个性化的布局.本文讲解如何使用和PHP实现拖动布局并将拖动后的布局位置保存到数据库. 很多网站的拖动布局的例子都是采用浏览器的COOKIE来记录用户拖动模块的位置,也就是说拖动后各模块的排序位置信息是记录在客户端的cookie里的.当用户清空客户端的cookie或浏览器的cookie过期后,再次访问页面时,发现布局又还原成最初的状态.这种cookie记录的方式使用简单,但不适合像个人中心.管理系统主页的要求.

  • PHP+jQuery实现随意拖动层并即时保存拖动位置

    想拖动页面上的层,完全可以用jQuery ui的Draggable方法来实现,那如何将拖动后层的位置保存下来呢?本文将给出答案.本文讲解了如何采用PHP+MySQL+jQuery,实现随意拖动层并即时保存拖动位置. 之前我有文章:,文中以项目为示例,讲解了实现拖动布局的方法.本文与之不同之处在于可以任意拖动页面位置,原理就是通过拖动将拖动后层的相对位置left,top和z-index三个参数更新到数据表中对应的记录,页面通过CSS解析每个层不同的位置.请看具体实现步骤. 准备MySQL数据表 首

  • PHP+MySQL+jQuery随意拖动层并即时保存拖动位置实例讲解

    想拖动页面上的层,完全可以用jQuery ui的Draggable方法来实现,那如何将拖动后层的位置保存下来呢?本文将给出答案.本文讲解了如何采用PHP+MySQL+jQuery,实现随意拖动层并即时保存拖动位置. 本文原理就是通过拖动将拖动后层的相对位置left,top和z-index三个参数更新到数据表中对应的记录,页面通过CSS解析每个层不同的位置.请看具体实现步骤. 准备MySQL数据表 首先需要准备一张表notes,用来记录层的内容,背景色和坐标等信息. CREATE TABLE IF

  • 使用数据库保存session的方法

    php的session默认是以文件方式保存在服务器端,并且在客户端使用cookie保存变量,这就会出现一个问题,当一个用户由于某种安全原因关闭了浏览器的cookie,程序中的session相关操作将无法执行.因此,如果能以数据库保存session数据,将不受客户端设置的限制,并且在性能和扩展性等方面有一个飞跃.程序中使用关键函数是session_set_save_handler,同时要将php.ini里的session.save_handler = files 改为 user.这里我们讨论的环境

  • PHP封装的数据库保存session功能类

    本文实例讲述了PHP封装的数据库保存session功能类.分享给大家供大家参考,具体如下: PHP用数据库保存session类: <?php class SafeSessionHandler implements SessionHandlerInterface { public $save_path; public $session_name; public $table; public function __construct() { $this->table = new Table(&qu

  • PHP将Excel导入数据库及数据库数据导出至Excel的方法

    本文实例讲述了PHP将Excel导入数据库及数据库数据导出至Excel的方法.分享给大家供大家参考.具体实现方法如下: 一.导入 导入需要使用能读取Excel的组件,网上也有比较好的组件,这里分享我使用的:下载  提取码:vxyn.(注意两个文件有引用关系) <?php //传入要导入的Excel的文件名 function import_to_DB($filename) { require_once'reader.php'; $data = new Spreadsheet_Excel_Reade

  • php实现将base64格式图片保存在指定目录的方法

    本文实例讲述了php实现将base64格式图片保存在指定目录的方法.分享给大家供大家参考,具体如下: <?php header('Content-type:text/html;charset=utf-8'); $base64_image_content = $_POST['imgBase64']; //匹配出图片的格式 if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)){ $ty

随机推荐