草庐IT

php - 在树下查找 ID - 查询逻辑 - PHP

我有下表文件夹:idnamechildOf------------------------1A02B13C04D35E26F5这形成了一棵树:A-B--E---FC-D我允许拖放文件夹,但需要防止文件夹被拖到它们自己的子文件夹中。例如DtoB可以,DtoE可以,BtoF不行,因为它拖到自己的树上,但是FtoB可以,因为它拖到树上。问题:如果用户选择B并试图将其拖到F,我该如何防止这种情况发生?我正在寻找逻辑,怎么说,然后编码,B到F不行,但F到B可以。 最佳答案 对于您当前的数据库模式,我只看到多个选择语句的选项。你必须向上或向下检

php - 拉维尔 5 : How to saveMany() based on value

我需要一些帮助来解决以下情况。我愿意根据输入值saveMany。让我给出代码示例。我正在尝试以下内容。$data=['id'=>1,'name'=>'example','number_of_slots'=>5,'material'=>'Colo','equipment_status_code_id'=>1,];$platecontainer=PlateContainer::create($data);foreach($dataas$key=>$value){$platecontainer->containerSlots()->saveMany([newContainerSlot(['p

php mysql_insert_id 在多行上?

是否可以从插入多行的查询中获取自动递增的ID?例如:INSERTINTOtable(col1,col2)VALUES(1,2),(3,4),(5,6);或者,有没有办法在不向表中插入任何内容的情况下找到下一个自动递增值?谢谢 最佳答案 据我所知,auto_increment不会填补id之间的空白,而且操作是原子的。所以你可以假设他们会排成一排。 关于phpmysql_insert_id在多行上?,我们在StackOverflow上找到一个类似的问题: http

php - 如何在使用 Jquery sortable 排序后检索父容器 ID?

我有以下标记和javascript来对某些项目进行排序。项目可以在一个block内或跨其他block进行排序。它有效,但我在将项目从一个block移动到另一个block后检索正确的blockID时遇到问题。例如,如果我在“block1”中移动项目1,我会得到“我在block=block_1”,但如果我将项目1移动到block2,我仍然会得到我在block1中。但我想将block2作为其父容器。我需要检索此ID,以便我可以执行一些ajax并相应地更新数据库。你能帮我改正这个吗??Block1Item1Item2Item3Block2Item4Item5Item6$("#blocks_so

php - 使用 php 从 gmail imap 获取 Message-ID 的值

我使用标准的imap函数来抓取邮件,我需要保留跟踪Message-ID(以及References和In-Reply-To)以构建线程。我通过smtp回复邮件,保留旧主题,但在我的web界面中没有将它们与其他人分组。如果我添加一个In-Reply-Toheader-一切正常。问题是我无法获取Message-ID、References、In-Reply-To的值(但在Web界面中它们存在)。我尝试了不同的函数(imap_headerinfo、imap_fetchheader、imap_fetch_overview),但所有这些值都是空的。请帮忙! 最佳答案

php - 一种无需编辑 php.ini 即可生成自定义 session ID 的方法

我正在尝试创建自定义sessionID生成器。根据我在网站上阅读的内容,您可以通过手动编辑PHP的设置文件来完成此操作,但是,在我从共享服务器切换到完全可定制的服务器之前,它不可用。我想问的是,是否可以通过向页面输入PHP代码来指定如何生成sessionID?我的意图是使用与默认ID生成器相同的机制,但使用sha512和一些自定义的好东西,例如salt。 最佳答案 如果在调用session_start()之前将字符串传递给session_id()函数,您可以自己设置sessionID。例如:functiongenerate_id()

php - DOMDocument:忽略重复的元素 ID

我正在使用DOMDocument::loadHTML将一些页面内容(已通过Tidy运行,但如果这是问题的根源则不需要)放入DOMDocument。出现各种错误:IDxalreadydefinedinEntity,lineX有什么方法可以使DOMDocument(或Tidy)忽略或去除重复的元素ID,从而真正创建DOMDocument?谢谢。:) 最佳答案 对该主题的快速搜索揭示了这个(不正确的)错误报告:http://bugs.php.net/bug.php?id=46136最后的回复是这样的:You'reusingHTML4rul

php - 像 base36 一样编码,包括大写

我正在使用base36来缩短URL。我有一个博客条目的ID,并将该ID转换为base36以使其更小。Base36仅包含小写字母。如何包含大写字母?如果我使用base64_encode,它实际上会使字符串变长。 最佳答案 您可以在这两篇文章中找到用于创建包含字母(小写和大写)和数字的短网址的源代码示例,例如:CreateshortIDswithPHP-LikeYoutubeorTinyURLBuildingaURLShortener这是第二篇文章(引用)中使用的代码部分:$codeset="0123456789abcdefghijkl

php - 将 URL 的 MD5 转换为 base62

我有一个转换为base62(A-Za-z0-9)的脚本,但我如何从MD5中获取数字?我在很多地方都读到过,因为来自MD5的数字大于php可以作为整数处理的数字,所以它是不准确的...因为无论如何我想要一个短URL并且不打算使用整个哈希,也许只有8个字符....所以我的问题是如何获取MD5哈希的部分数字?另外,只使用部分MD5散列是不是一个坏主意? 最佳答案 我将在这里提出不同的建议。既然您只对使用md5散列的十进制block感兴趣,为什么不使用任何其他短数字散列,例如CRC32或Adler?这是一个例子:$hash=sprintf(

php - Laravel:如何通过键 ID 获取单个数据透视行

我在User和NotificationEloquent模型上设置了多对多关系。这样我就可以访问数据透视表-user_notifications-如下所示:$user=User::find(1);foreach($user->notifications()as$n){echo$n->pivot->created_at;}这将为ID=1的用户提供数据透视表中的所有created_at字段值。如果我需要只有一个数据透视行,比方说notification_id=2行怎么办?有没有办法将pivot与where或has结合起来?是否可以在不循环$user->notifications()的情况下完