小编Ash*_*hok的帖子

MySQL和PHP - 创建多个父子关系

我正在尝试使用带有层次结构的类别表来构建导航系统.通常,该表定义如下:

id (int) - Primary key
name (varchar) - Name of the Category
parentid (int) - Parent ID of this Category referenced to same table (Self Join)
Run Code Online (Sandbox Code Playgroud)

但问题是,我要求一个类别可以是多个父类别的子类.就像一个拥有和属于许多(HABTM)的关系.

我知道如果有两个表,类别和项目,我们使用连接表categories_items列出HABTM关系.但在这里,我没有两张桌子,只有桌子,但应该以某种方式显示HABTM关系.这是可以使用单个表吗?如果是,怎么样?如果不可能,我应该在创建附加连接表时遵循哪些规则(表命名,字段)?

我正在尝试使用CakePHP实现这一点,如果有人可以为这个问题提供CakePHP解决方案,那将是非常棒的.即使这是不可能的,任何关于创建连接表的解决方案都是值得赞赏的.谢谢你的时间.

- 编辑 - 我的问题似乎有点令人困惑,所以我正在努力重申我正在寻找的东西.在传统的自引用(自联接)父子关系中,每个项目只能有一个父项.我正在寻找的是模拟HABTM关系,即每个项目的多个父母.

类别和项目 - 要定义HABTM,我们使用categories_items连接表.

如果在类别中我需要HABTM,我该怎么办?

php mysql cakephp join

9
推荐指数
1
解决办法
5603
查看次数

记录Excel自动完成的VBA代码

在使用VBA编写要在Excel中使用的自定义函数时,如何编写文档注释以便在自动填充公式期间自动显示excel?

例如,当我们开始键入VLookUp时,它会显示Vlookup作为工具提示的内容,显示输入变量名称,如果我们从功能区中按Insert Function,则会显示一个对话框,其中包含对功能的清晰说明...我们怎么能在VBA中编写自定义函数时实现这一点?

excel vba excel-vba

7
推荐指数
1
解决办法
2506
查看次数

Excel VBA Userform - 当某些内容发生变化时执行Sub

我有一个包含大量文本框的用户表单.当这些文本框的值发生变化时,我需要通过调用子程序AutoCalc()来重新计算基于文本框值的最终结果值.

我有大约25个盒子,我不想单独向调用所述子例程的每个文本框添加一个Change()事件.每当某些值发生变化时,调用AutoCalc()的最快捷有效的方法是什么?

excel vba excel-2007 excel-vba userform

7
推荐指数
3
解决办法
5万
查看次数

Excel - 递归VLookup

我最近了解了Ctrl + Shift +输入Excel的数组公式,目前仍在学习它们.来我的问题,

SheetA:
Product        Code
S1             19875
S2             19834
S1             13575
S1             35675
S2             47875   



SheetB:
Code           Indent
19875          40  
19834          15
13575          22
35675          25
47875          20
Run Code Online (Sandbox Code Playgroud)

我需要做一个给定产品名称的所有缩进的总和.

例如:我需要S1的Total Indent,

  • 在SheetA上查找Vlookup,获取代码19875
  • 在SheetB上执行vlookup,获得40的缩进
  • 在表A上的下一个Vlookup,获取代码13575
  • 在SheetB上使用13575到Vlookup,获得22的缩进
  • 在表A上的下一个Vlookup,获取代码35675
  • 在SheetB上使用35675到Vlookup,得到缩进25
  • 总和40 + 22 + 25,返回87

我可以通过VBA实现这一点,但我想知道在使用CSE/Array公式的excel函数中是否可行.

编辑:

Sheet2中的值与Sheet1的顺序不同.它们是完全随机的.我的SheetB将是随机的,如下所示:

SheetB:
Code           Indent
19834          40  
19875          15
47875          22
13575          25
35675          20
Run Code Online (Sandbox Code Playgroud)

excel excel-2007 worksheet-function vlookup

3
推荐指数
1
解决办法
9306
查看次数

与替代品的Sumproduct

我有一个范围,包含数值和空白单元格.某些数值将具有*作为后缀.

10* 5 7  9  25* 10
Run Code Online (Sandbox Code Playgroud)

当我做SUM(A1:A8)时,得到5 + 7 + 9 + 10 = 31的结果,即所需的输出.现在,我还要求总和,而不考虑*后缀.我试图通过使用来解决

SUMPRODUCT(SUBSTITUTE(A1:A8,"*",""))
Run Code Online (Sandbox Code Playgroud)

它的工作原理

SUMPRODUCT({"10","5","7","","9","","25","10"})
Run Code Online (Sandbox Code Playgroud)

并且输出0因为所有都是文本值.我用的时候

SUMPRODUCT(value(SUBSTITUTE(A1:A8,"*","")))
Run Code Online (Sandbox Code Playgroud)

它的工作原理

SUMPRODUCT({10,5,7,#VALUE!,9,#VALUE!,25,10})
Run Code Online (Sandbox Code Playgroud)

最后输出#Value!.有人可以帮我解决这个问题吗?谢谢你的时间.

excel excel-2007

1
推荐指数
1
解决办法
3648
查看次数