我正在.Net和SQL服务器上进行多级营销领域的项目.在数据库中,它应该像二叉树一样保存.我该如何设计数据库?
我有可拖动的<li>元素列表,我可以将它拖到另一个空的<ul>元素中.如果我拖动可拖动原始<ul>的第一个<li>元素,一切正常......
问题:
...但是当我拖动该列表中的任何其他<li>元素时,只要我越过可接收的可排序<ul>的边界,"帮助者"就会远离鼠标指针.更准确地说,它会移动到列表的顶部.
有没有人见过这个并知道解决方案?好吧,我的问题是,我只是使用jquery,并没有真正深入到它,也从未真正使用过javascript.
有关该问题的更多信息:
我的jQuery代码:
$(document).ready(function() {
$('#roleList > li').draggable({
connectToSortable: '#roleDrop',
containment: '#container',
revert: 'invalid'
});
$('#roleDrop').sortable({
cursor: 'move',
containment: '#container',
revert: true,
update: function() {
var order = $('#roleDrop').sortable('serialize');
$.ajax({
type: 'POST',
url: '".$postUrl."',
dataType: 'html',
data: order
});
}
});
$('#roleList').disableSelection();
});
Run Code Online (Sandbox Code Playgroud)
虽然#roleList和#roleDrop是前面提到的无序列表,但#container是一个表.
现在是发生了什么的屏幕截图.
我开始拖动项目:
当我越过第二个<ul>的边界时,助手会跳起来.
如果你也需要xhtml标记,请告诉我.
来自我的另一个问题,我学会了不在循环中使用数据库查询,因此我必须学习如何在循环之前以方便的方式获取所有数据.
假设我有两个表'scale'和'items'.项目中的每个项目都属于一个比例尺,并与外键(scaleID)链接.我想在一个查询中将所有数据提取到数组结构中,这样第一个维度就是包含所有列并嵌套在其中的所有比例,所有项目都是一个比例所有列.
结果将是这样的:
scale 1, scaleParam1, scaleParam2, ...
....item1, itemParam1, itemParam2, ...
....item2, itemParam1, itemParam2, ...
scale 2, scaleParam2, scaleParam2, ...
....item1, itemParam1, itemParam2, ...
....item2, itemParam1, itemParam2, ...
Run Code Online (Sandbox Code Playgroud)
到目前为止,我主要做了一对一关系的左连接.这是一对多的,我无法绕过它.
它是一个正确的连接,是否也可以使用子查询完成,如何将完整的外部行放入其中...
后来我想用嵌套的foreach循环遍历它.
也许只是我头疼...
我想迭代存储在Zend_Db_Table_Rowset对象中的数据行,然后删除/取消设置某些行,如果它们不符合某些条件.
我可以使用toArray()来获取对象中的数据行,然后很容易取消我不需要的行.但由于我想保留我的对象以供进一步使用,我不想这样做.
当然,一种解决方案是调整我的查询以便仅检索我需要的内容,但在这种情况下这是不可能的.至少我不知道怎么做.
我尝试了以下哪些不起作用:
foreach ($rowset as $key => $row)
{
if (!$condition == satisfied)
{
unset($rowset[$key]);
}
}
Run Code Online (Sandbox Code Playgroud)
当然它不起作用,因为没有$ rowset [$ key] ...数据存储在子数组[_data:protected]中但未设置$ rowset [_data:protected] [$ key]没有工作要么.
也许我对行集对象(或一般对象的表示)的概念还不够成熟,无法理解我在做什么.任何澄清和提示都将受到欢迎!
[编辑] $ row-> delete不是一个选项,我不想删除数据库中的行!我不想先创建一个数组,如果我想,我只想做$ rowset-> toArray()[/ EDIT]
解决方案:我最终做了我认为我也无法做到的事情,这意味着我将所有内容集成到初始查询中.
有没有办法知道每个Eclipse插件分别消耗多少内存?
eclipse memory performance eclipse-plugin memory-consumption
我有一个非常简单的问题,我无法在Zend Framework手册或其他地方找到令人满意的(主观看到的)答案......
我有很多方法可以将我的php变量移交给我的sql查询,但我失去了概述,可能我对一般的引用缺乏了解.
$sql = "SELECT this, that
FROM table
WHERE id = ? AND restriction = ?";
$stmt = $this->_db->query($sql, array($myId, $myValue));
$result = $stmt->fetchAll();
Run Code Online (Sandbox Code Playgroud)
我理解使用这个解决方案我不需要引用任何东西,因为db为我处理这个.
$ users = new Users();
a) $users->fetchRow('userID = ' . $userID);
b) $users->fetchRow('userID = ' . $users->getAdapter()->quote($userID, 'INTEGER'));
c) $users->fetchRow('userID = ?', $userID);
d) $users->fetchRow('userID = ?', $users->getAdapter()->quote($userID, 'INTEGER'));
Run Code Online (Sandbox Code Playgroud)
我明白a)不好,因为根本没有引用.但是其他版本呢,最好的是什么?是c)被视为一个陈述并自动引用或我需要使用d)当我使用?标识?
我有一个Auth组件(基于Zend_Auth),我在不同服务器和不同环境的许多项目中使用它.它一直有效......直到现在:
当我尝试使用谷歌浏览器(12.0.742.122)登录新项目(使用相同的Auth组件)时,我正在登录后立即注销.但FF或IE不会出现此问题.
有没有人知道为什么会这样?
我用一个类用PhpUnit执行一个测试套件,如:
$suite = new PHPUnit_Framework_TestSuite('PHPUnit Framework');
$suite->addTestSuite('ClassOne');
$suite->addTestSuite('ClassTwo');
return $suite;
Run Code Online (Sandbox Code Playgroud)
要开始单元测试:
# phpunit --stop-on-failure TestSuite.php
Run Code Online (Sandbox Code Playgroud)
如果"ClassOne"有错误或异常,则测试继续"ClassTwo".如果第一次测试失败,我怎么能停止所有的测试?
有很多的后裔Mage_Eav_Model_Entity_Setup例如
class Mage_Checkout_Model_Resource_Setup extends Mage_Eav_Model_Entity_Setup
{
}
Run Code Online (Sandbox Code Playgroud)
但他们都是空的.
拥有所有这些空类有什么用?
它只是为了可扩展性并保留在同一模块的不同设置脚本中共享的常用功能吗?
我原以为这些自定义类可能会触发某种模块自动检测,但无法找到这方面的任何提示.
(基于Magento认证学习指南:使用自定义安装类在自定义模块中操作EAV属性有哪些优点).