草庐IT

递归查询MySQL

全部标签

php - 从不同的 "method of a class"调用递归 "method of the same class"

我问了thisquestionbefore,有人放了一个链接来向我解释什么是递归函数。他/她投了反对票等等,就像在真正的递归函数中一样,所有其他人也投了反对票。现在我再问,我应该如何从不同的“同一类的方法”调用一个递归的“一个类的方法”em>?在第一个“递归方法”的定义中进行递归时,我应该使用$this->method()还是只使用method()谢谢;)(我称它为类的方法,以避免那些因为说“功能”而用否定杀死的人) 最佳答案 您以与调用任何其他方法相同的方式递归调用一个方法——只是您在其自身内部调用该方法。例如,请看以下内容:cl

php - 如何在 WordPress 的查询中同时按两个不同的事物排序

我有一个小问题。我正在尝试通过自定义元字段获取最新的12篇文章。在这12个帖子中,我想按发布日期排序。所以首先我使用自定义元字段提取12个帖子,并命令它们通过元字段查找最新的。一旦我有了它们,我就想用最新的帖子重新订购它们。这是我当前的代码,我不知道如何在一个查询中放置两个order-bys...$recentEpisodes12=newWP_Query(array('posts_per_page'=>12,'post_type'=>'post','meta_key'=>'air_date','order'=>'DESC','orderby'=>'meta_value_num','me

php - 数据库查询的MySQLi错误

这个问题已经有了答案:SyntaxerrorduetousingareservedwordasatableorcolumnnameinMySQL1答好吧,再回来,aftermyinitialquestion。不过,这一次我实现了一个错误回调,只是为了帮助我走上正轨,我将给出代码和错误回调:$Query=mysqli_query($Connection,"INSERTINTOdatabase(ip,isp,user)VALUES('$IP','$ISP','$User')");错误如下:错误:您的SQL语法中有错误;请查看与MySQL服务器版本对应的手册,以获得正确的语法,以便在第1行使

php - Laravel 4 where in condition with DB::select 查询

我有下一个SQL查询:SELECTsummary_table.device_id,WEEKDAY(summary_table.day)asday,AVG(summary_table.shows)asavg_showsFROM(SELECTdevice_id,day,sum(shows)asshowsFROMstatisticsGROUPBYdevice_id,day)assummary_tableWHEREdevice_idIN(1,2,3)//JustforexampleGROUPBYdevice_id,WEEKDAY(day)我应该如何使用Laravel执行此操作?我将此查询放在D

php - 有条件地构建 Eloquent 查询

背景我正在使用Laravel的Eloquent作为我的ORM。我正在创建一个API端点,它提供对具有多个属性(color、make、status)的Cars的访问.我的端点允许客户端通过这些属性的任何子集过滤返回值,如果他们不提供任何属性,那么我将返回所有内容。问题我想构建一个条件查询,它从“全部”开始,然后根据指定的参数缩小范围。这是我写的:publicfunctiongetCars(Request$request){$results=Cars::all();if($request->has('color'))$results=$results->where('color',$req

php - 检查更新查询是否成功[PHP, mysqli]

这个问题在这里已经有了答案:mysqli_affected_rowsinPHPinsert(3个答案)关闭5年前。我正在使用PHP和mysqli,程序正在做的是,如果在设置密码的数据库中找到电子邮件添加和重置代码,它会要求重置代码和电子邮件地址,这部分功能正在运行,这部分我需要帮助:我需要做的是告诉用户是否设置了密码以及更新是否成功。我在做什么:$uinsert="UPDATEmemberSETpassword='$password'WHEREemailadd='$emailadd'ANDresetCode='$resetcode'";$update=mysqli_query($mys

php - Doctrine - Symfony 查询错误

我确实有一个错误,但我不知道如何修复它。$query=$entityManager->createQuery("UPDATEAppBundle:ChangeAPISET`key`='asd123'WHERE`id`=1");$query->execute();我的AppBundle:ChangeAPI/***@ORM\Entity*@ORM\Table(name="api")*/classChangeAPI{/***@ORM\Column(type="integer")*@ORM\Id*@ORM\GeneratedValue(strategy="AUTO")*/protected$id

php - 将函数从递归转换为迭代

我写的这个函数非常慢,因为php不能很好地处理递归。我正在尝试将其转换为while循环,但在思考如何进行时遇到了麻烦。谁能给我一些提示?publicfunctionfindRoute($curLoc,$distanceSoFar,$expectedValue){$this->locationsVisited[$curLoc]=true;$expectedValue+=$this->locationsArray[$curLoc]*$distanceSoFar;$at_end=true;for($i=1;$inumLocations;$i++){if($this->locationsVis

PHP:递归获取父级的子级

我有一个函数可以从我的数据库中获取父项的所有子项的ID。因此,如果我查找id7,它可能会返回一个包含5、6和10的数组。然后我想做的是递归地找到那些返回的id的child,依此类推,直到child的最终深度。我曾尝试编写一个函数来执行此操作,但我对递归感到困惑。functiongetChildren($parent_id){$tree=Array();$tree_string;if(!empty($parent_id)){//getOneLevel()returnsaone-dimentionalarrayofchildids$tree=$this->getOneLevel($pare

php - 使用 PHP PDO 进行动态查询

我正在尝试弄清楚如何将我的历史脚本从mysql_query()转换为PDO。我有一个包含4个输入字段的表单,您可以随机选择这些字段。这意味着可以根据您要获取的信息选择0、1、2、3、4个字段。我试过像这样查询数据库:$q=$db->prepare('SELECTdate,name,actionFROMhistoryWHEREname=:nameANDaction=:action');$q->bindParam(':name',$Name,PDO::PARAM_STR,20);$q->bindParam(':action',$Action,$PDO::PARAM_STR,20);$q->