我需要在留言表中查询最新的30条留言,然后这30条还要随机显示。
回复讨论(解决方案)
什么叫随机显示?
什么叫随机显示?
我再补充一下,首先我要在前台显示5条信息,但是这5条信息,必须在留言表所有信息中最新的30条里再随机获取5条出来显示。
这种用SQL语句好像实现不了。
用sql语句也能达到要求,如果表比较大可能会有点慢吧
用sql语句也能达到要求,如果表比较大可能会有点慢吧
可不可以举个例子。
先读出30条数据,在用php随机显示吧。
建个临时表,把最新的30条存进去,然后用select * form a order by rand() limit 5
建个临时表,把最新的30条存进去,然后用select * form a order by rand() limit 5
如果每次刷新都这样执行一次,不是很慢么
所以还是在php里写个程序来随机抽取5条,或者专门弄张表就放最新的30条
order by rand()最好不用
可以
select * from xxxx order by timefield desc limit 30
取出结果后放入数组,然后shuffle
所以还是在php里写个程序来随机抽取5条,或者专门弄张表就放最新的30条
我在想用SQL能不能做到呢?因为我那个读取出来的记录集是类来的。
SQL可以做到,只是真心不高效
select * from (SELECT * FROM xxx order by xxx desc limit 30) t order by rand()
非要用的?:
select from (select from order by uid limit 30) as t order by rand() limit 5
按照select * from (SELECT * FROM xxx order by xxx desc limit 30) t order by rand()实现了,原本获取到的数据是一个类的集合,所以又转成SQL再拼接,再执行返回数组。
我觉得问题不大, 不是全表order by rand
SQL可以做到,只是真心不高效
SQL code?1select * from (SELECT * FROM xxx order by xxx desc limit 30) t order by rand()
我觉得问题不大, 不是全表order by rand
引用 13 楼 ustb 的回复:SQL可以做到,只是真心不高效
SQL code?1select * from (SELECT * FROM xxx order by xxx desc limit 30) t order by rand()
要少用嵌套查?。。。
我觉得问题不大, 不是全表order by rand
引用 13 楼 ustb 的回复:SQL可以做到,只是真心不高效
SQL code?1select * from (SELECT * FROM xxx order by xxx desc limit 30) t order by rand()
同意!
你30条全部随机显示,那就没有特别的效果了,到头来文字还是一样。
如果你只显示10条,然后在30条里面随机。随机的效果才更发了。
补充一下,就可以了
select * from (SELECT * FROM xxx order by xxx desc limit 30) t order by rand() limit 5
SQL可以做到,只是真心不高效
SQL code?1select * from (SELECT * FROM xxx order by xxx desc limit 30) t order by rand()

APHPDependencyInjectionContainerisatoolthatmanagesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itactsasacentralhubforcreatingandinjectingdependencies,thusreducingtightcouplingandeasingunittesting.

Select DependencyInjection (DI) for large applications, ServiceLocator is suitable for small projects or prototypes. 1) DI improves the testability and modularity of the code through constructor injection. 2) ServiceLocator obtains services through center registration, which is convenient but may lead to an increase in code coupling.

PHPapplicationscanbeoptimizedforspeedandefficiencyby:1)enablingopcacheinphp.ini,2)usingpreparedstatementswithPDOfordatabasequeries,3)replacingloopswitharray_filterandarray_mapfordataprocessing,4)configuringNginxasareverseproxy,5)implementingcachingwi

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl

TomakePHPapplicationsfaster,followthesesteps:1)UseOpcodeCachinglikeOPcachetostoreprecompiledscriptbytecode.2)MinimizeDatabaseQueriesbyusingquerycachingandefficientindexing.3)LeveragePHP7 Featuresforbettercodeefficiency.4)ImplementCachingStrategiessuc

ToimprovePHPapplicationspeed,followthesesteps:1)EnableopcodecachingwithAPCutoreducescriptexecutiontime.2)ImplementdatabasequerycachingusingPDOtominimizedatabasehits.3)UseHTTP/2tomultiplexrequestsandreduceconnectionoverhead.4)Limitsessionusagebyclosin

Dependency injection (DI) significantly improves the testability of PHP code by explicitly transitive dependencies. 1) DI decoupling classes and specific implementations make testing and maintenance more flexible. 2) Among the three types, the constructor injects explicit expression dependencies to keep the state consistent. 3) Use DI containers to manage complex dependencies to improve code quality and development efficiency.

DatabasequeryoptimizationinPHPinvolvesseveralstrategiestoenhanceperformance.1)Selectonlynecessarycolumnstoreducedatatransfer.2)Useindexingtospeedupdataretrieval.3)Implementquerycachingtostoreresultsoffrequentqueries.4)Utilizepreparedstatementsforeffi


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

Dreamweaver CS6
Visual web development tools

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Notepad++7.3.1
Easy-to-use and free code editor
