请问如何将mysql多个表的数据组合成一个列表,并可排序和分页,我是用tp框架5.0写的接口

我这有个页面是某用户所发布的所有信息的列表,是四种类型信息混合在一起的列表,有分页功能,要按发布时间排序,这四种类型的信息数据分别来自于四张不同的表,是用户所发布的四种类型的信息,这四张表字段结构不一样,但都有"发布时间"字段,我个人认为不能分别从四张表中查出该用户发布的所有信息再进行拼接,如果数据多的话会很慢,而且无法实现排序功能,所以我想的是只能在查询的时候就分页查询,但想了好久也不知道如何实现这种查询?请问有没有什么好的办法?

1个回答

实际上不管几个表几个库,关系型数据库要查数据,写清楚SQL语句就行了。多个表联合查询,只要了解一下SQL中的联接,或者直接where条件中相等就可以。至于分页,也是SQL语句,用Limit字句。从SQL语句上来说,无关你使用的框架。但如果你用了tp框架中的ORM框架进行数据库访问,可以了解一下ORM中的写法就好了。

m294955408
偷偷的挂掉 回复qq_37237829: 你没有关联关系总有联系吧,比如有一样的“发布时间”,这不就是关系,没有什么特殊的东西的,说到底都是SQL语句。最终结果都是将几个表拼成一个表,类似于视图,又有什么关系呢?如果这几个表连可以条件查询的字段都没有,你又是根据什么把他们拼接起来。
2 年多之前 回复
qq_37237829
Sean0922 我这几个表没有关联关系,不是要连表查询的,我要实现的是这几个表的竖向拼接
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
如何将多个json组合成一个?
[code=php]rn $question = $_GET['question'];rn $arr = explode("|",$question);rn for($i = 0;$i <= 3; $i++)rn $rid = $arr[$i];rn $sql = "select * from xs_radio where rid = '$rid'";rn $result = mysql_query($sql);rn $arr = array();rn while($row = mysql_fetch_array($result, MYSQL_ASSOC))rn $ar[] = $row; rn rn $js = json_encode($ar);rn echo $js;rn rn[/code]rn这是查询的语句rn[code=html]rn["rid":"1","title":"\u6211\u662f\u8c01","a":"\u5b8b\u5411\u4e1c","b":"\u9b4f\u4eae","c":"\u738b\u514b\u5a07","d":"\u5b8b\u5b50\u6587","answer":"\u5b8b\u5411\u4e1c"]rn["rid":"2","title":"\u6211\u662f\u8c01","a":"\u9b4f\u4eae","b":"\u5218\u5fb7\u534e","c":"\u674e\u5a1c","d":"\u5f20\u626c","answer":"\u9b4f\u4eae"]rn["rid":"3","title":"\u6211\u662f\u8c01","a":"\u9b4f\u4eae","b":"\u738b\u514b\u5a07","c":"\u674e\u56fd\u4f1f","d":"\u738b\u83f2","answer":"\u738b\u514b\u5a07"]rn["rid":"16","title":"\u6211\u662f\u8c01","a":"\u5218\u5f66\u5bbe","b":"\u674e\u56fd\u632f","c":"\u7a0b\u79c0\u82b9","d":"\u738b\u514b\u5a07","answer":"\u738b\u514b\u5a07"]rn[/code]rn查询出来的结果。 如何把这三个json组合成一个?rn[code=html]rn["rid":"1","title":"\u6211\u662f\u8c01","a":"\u5b8b\u5411\u4e1c","b":"\u9b4f\u4eae","c":"\u738b\u514b\u5a07","d":"\u5b8b\u5b50\u6587","answer":"\u5b8b\u5411\u4e1c",rn"rid":"2","title":"\u6211\u662f\u8c01","a":"\u9b4f\u4eae","b":"\u5218\u5fb7\u534e","c":"\u674e\u5a1c","d":"\u5f20\u626c","answer":"\u9b4f\u4eae",rn"rid":"3","title":"\u6211\u662f\u8c01","a":"\u9b4f\u4eae","b":"\u738b\u514b\u5a07","c":"\u674e\u56fd\u4f1f","d":"\u738b\u83f2","answer":"\u738b\u514b\u5a07",rn"rid":"16","title":"\u6211\u662f\u8c01","a":"\u5218\u5f66\u5bbe","b":"\u674e\u56fd\u632f","c":"\u7a0b\u79c0\u82b9","d":"\u738b\u514b\u5a07","answer":"\u738b\u514b\u5a07"]rn[/code]rn保存成这样的。
水晶报表如何将多个表组合成在一起显示
如题,已有N个RPT文件,想让它们在一个VIEWER里显示,应该怎么做?
如何将多个表的数据导入到一个表?
数据库中有10个表,从每个表中选出一列或者两列导出到一个新表中(这个表已经存在,但里面无数据),10个表的结构不同rn请问各位大侠sql语句怎么写啊
请问:“如何将大量数据插入多个表”
“如何将大量数据插入多个表”rn数据库有三个表,基本情况,工作背景,联系方式。rn会员在注册时如何将数据插入各自对应的表。谢谢
关于多个表组合成一个报表的问题。
现有3个表:rsk_local(本人信息),rsk_jl(个人简历),rsk_jt(家庭成员),其中各表的字段如下:rnrsk_local(bh,xm,nl,xl……)rnrsk_jl(bh,time,place,do)rnrsk_jt(bh,ch(称呼),xm,nl……)rn注:这里的bh字段均指职工本人编号rn我想做成以下格式的报表:rn XX人事档案rnbh xm nl xl……(一条rsk_local的记录)rn个人简历rntime place do(有多条记录)rn家庭成员rnch xm nl……(有多条记录)rn例如:rn 小明人事档案rnrn编号:10001 姓名:小明 年龄:26 学历:本科 rn————————————————————————rn个人简历rn1986-1992 XX学校 学习rn1993- XX XXrn————————————————————————rn家庭成员rn父亲 强强 50rn母亲 啊红 48 rnrn请问该如何做?rn起初,我试了一下用group格式做,但是显示结果只有最后一个分组是可以显示多条记录,其它均只能显示一条,也就是“个人简历”只能显示第一条记录 。 rn
用TP框架写的邮箱验证
首先在公共函数库写一个发送邮件的函数: function sendMail($to, $title, $content) { require 'class.phpmailer.php'; $mail = new PHPMailer(); $mail-&amp;gt;IsSMTP(); // 启用SMTP $mail-&amp;gt;Host=C('MAIL_HOST'); //...
TP框架中写接口——PHP图片加载接口
//http://bixc.tunnel.qydev.com/项目名称/public/index.php/interfaces/Bannerinterface/bannerPicture //localhost/项目名称/public/index.php/interfaces/Bannerinterface/bannerPicture class Bannerinterface extends C...
请问如何将字符串组合成日期?
现有年、月、日、时、分等几个字符串?如何将其组合成日期?
急求水晶报表如何将多个表组合成在一起显示
我在水晶报表中现在可以组合两个表在一起显示但在组合第三个表时老提示搜索引擎错误,但是我单表测试却没有问题,是怎么回事请大家帮解答一下。以下是代码:rnImports System.Data.SqlClientrnImports CrystalDecisions.CrystalReports.EnginernImports CrystalDecisions.SharedrnPublic Class jl_jlformrn Inherits System.Web.UI.Pagern Dim sql_conn As SqlConnectionrn Dim sql_data As SqlDataAdapterrn Dim sql_dataset As datasetrnrn#Region " Web 窗体设计器生成的代码 "rnrn '该调用是 Web 窗体设计器所必需的。rn Private Sub InitializeComponent()rnrn End Subrn Protected WithEvents CrystalReportViewer1 As CrystalDecisions.Web.CrystalReportViewerrnrn '注意: 以下占位符声明是 Web 窗体设计器所必需的。rn '不要删除或移动它。rn Private designerPlaceholderDeclaration As System.Objectrnrn Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Initrn 'CODEGEN: 此方法调用是 Web 窗体设计器所必需的rn '不要使用代码编辑器修改它。rn InitializeComponent()rn End Subrnrn#End Regionrnrn Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Loadrn '在此处放置初始化页的用户代码rn Dim opt As New ReportDocumentrn sql_conn = New SqlConnection("server=192.168.8.50;uid=1;pwd=1;database=nbjl_data")rn sql_dataset = New DataSetrn sql_conn.Open()rnrn sql_data = New SqlDataAdapter("select * from jl_xtgz", sql_conn)rn sql_data.Fill(sql_dataset, "jl_xtgz")rn opt.Load(Server.MapPath("jl_gzrpt.rpt"))rn opt.SetDataSource(sql_dataset)rnrn sql_data = New SqlDataAdapter("select * from jl_car", sql_conn)rn sql_data.Fill(sql_dataset, "jl_car")rn opt.Load(Server.MapPath("jl_carrpt.rpt"))rn opt.SetDataSource(sql_dataset)rnrn sql_data = New SqlDataAdapter("select bz as zyjs from jl_water", sql_conn)rn sql_data.Fill(sql_dataset, "jl_zyjs")rn opt.Load(Server.MapPath("jl_zyjsrpt.rpt"))rn opt.SetDataSource(sql_dataset)rnrn sql_data = New SqlDataAdapter("select * from jl_water", sql_conn)rn sql_data.Fill(sql_dataset, "jl_water")rn opt.Load(Server.MapPath("jl_waterrpt.rpt"))rn opt.SetDataSource(sql_dataset) rnrn sql_conn.Close()rn sql_conn.Dispose()rnrn Dim fname As Stringrn Dim crDiskFileDestinationOptions As DiskFileDestinationOptionsrn Dim crExportOptions As ExportOptionsrnrn fname = "c:\temp.pdf"rn crDiskFileDestinationOptions = New DiskFileDestinationOptionsrn crDiskFileDestinationOptions.DiskFileName = fnamern crExportOptions = opt.ExportOptionsrn With crExportOptionsrn .DestinationOptions = crDiskFileDestinationOptionsrn .ExportDestinationType = ExportDestinationType.DiskFilern .ExportFormatType = ExportFormatType.PortableDocFormatrn End Withrn opt.Export()rn Response.ClearContent()rn Response.ClearHeaders()rn Response.ContentType = "application/pdf"rn Response.WriteFile(fname)rn Response.Flush()rn Response.Close()rn End SubrnrnEnd Classrnrn
视频列表分页接口
项目将应用python、mysql、redis、tornado、sqlalchemy、sockjs、dplayer、wtforms、werkzeug等技术打造一个完整弹幕视频+多人在线聊天室。我将实战过程中带大家快速掌握python mtv的设计模式、基于线程池的异步io非阻塞、websocket实时长连接的技术原理。rn
MySql查询多个表的数据
可以直接select或者创建视图后select。
Mysql 合并多个表的数据
现在有大概300多张结构完全相同的表,需要把这300多张表的数据合并到一张新的表中。表名都是AAA_2018XXXX(XXXX代表日期)这样的。rn目前已经把300多张表的表名存放在一个数据表中了。表名是tablenamern请问如何操作,是写存储过程还是咋整。最好给附上代码。
多个Image组合成一个Image?
开发环境delphi2010,我用三个image组装一个图片,image1.load('pic1.png'),image2.load('pic2.png'),image3.load('pic3.png'),其中image2的strecth属性是True,也就是说image2里的图片大小是缩放过的。rnrn我现在想有一个Imagetemp,把image1,2,3的图片复制过来,单独保存成一张图片,请问这个怎么实现?因为是png格式的图片,复制的时候还要保留通道什么的。rnrn请高手答复~~~
课程列表页数据的分页和排序
<p>rn <br />rn</p>rn<p>rn <p>rn 20周年限定一卡通!<span style="color:#337FE5;">可学Java全部课程</span>,仅售799元(原价7016元),<span style="color:#E53333;">还送漫威正版授权机械键盘+CSDN 20周年限量版T恤+智能编程助手!</span>rn </p>rn <p>rn 点此链接购买:rn </p>rn <table>rn <tbody>rn <tr>rn <td>rn <span style="color:#337FE5;"><a href="https://edu.csdn.net/topic/teachercard?utm_source=jsk20xqy" target="_blank">https://edu.csdn.net/topic/teachercard?utm_source=jsk20xqy</a><br />rn</span>rn </td>rn </tr>rn </tbody>rn </table>rn</p>rn<span>&nbsp;</span> rn<p>rn <br />rn</p>rn本课程中你将学习到,Django的框架使用流程、Django配置第三方的后台xadmin、Django使用邮箱处理用户登陆注册、Django-simple-captcha第三方验证码的使用、项目的部署上线流程等等
多个对象列表排序
不同类型对象组成的列表,根据某个属性或者多个属性进行排序
我写的MySQL分页代码...
上次硬盘坏以前写过一次,这次费了些时间,干脆保存到网上来好了!rnrn";rn//定数据表中有ID和name两个字段rnrnmysql_close($con_db);rn//关闭数据库连接rnecho "总共[$page_number]页,当前第[$now_page]页";rn//显示总页数和当前页数rnif ($page_number>1 and $start_record != 0) rn//下面两个if语句决定"首页,上页,下页,末页"的显示rn$pre_page = $start_record - $page_size;rnecho "[首页]";rnecho "[上页]";rnrnif ($page_number>1 and $start_record != ($page_number - 1)*$page_size) rn$next_page = $start_record + $page_size;rn$last_page = ($page_number - 1)*$page_size;rnecho "[下页]";rnecho "[末页]";rnrn?>rnrn
node接口 分页-排序
1、server/routes/goods.jspage/pageSize/sort分别为前端传入的参数router.get(&quot;/&quot;,function(req,res,next){ let page=parseInt(req.param(&quot;page&quot;)); let pageSize=parseInt(req.param(&quot;pageSize&quot;)) let sort=req.param(&quot;sor...
基于TP框架写的ajax无刷新分页
请细心观看代码,其实不难
mysql导入单个表和多个表的数据
前提是使用mysqldump命令导出表的数据 方式1 导入某个表数据: 1、连接到数据库  mysql -u root -p --socket=/home/vpnmysql/mysql/mysql.sock -D testdb3     ##使用root用户,连接到mysql,-D是指定数据库testdb3 2、source  /tmp/test/tables1.sql     ##
请问用ADO如何将一个表改名
谢谢大家
用php写一个取数据的接口
目录结构: JS: index.js $(function () { /* @QUERY_ID query.xml的sql语句的id @id sql里[]的参数 */ $.post("http://localhost/cwq/index.php",{QUERY_ID:"QUERY_TABLE_ATTR",id:1},function(data){ dat
mysql 多个表查询并按时间排序
mysql mysql 多个表查询并按时间排序rn四个表的字段都不一样rn表名:aa,bb,cc,dd 四个表rnrn表字段:表aa有aaid,aatitle,aacontent,aatimern 表bb有bbid,bbcontent,bbtimern 表cc有ccid,ccname,cccontent,cctimern 表dd有ddid,ddcontent,ddtimernrn我现在想把没有任何关联的四个独立表,按时间排序
############################请问如何将已有的多个数据透视表中的部分想要的数据取出,组合成一个新的数据透视表。
急,不够可再加分,拜谢!
BCB 中如何将多个基本控件组合成一个新的控件??
是一个关于自制VCL控件的问题。。。rn现在我的一个程序,里面有一些负责显示数据的控件,他们都是成组的出现,比如,我有12个单元,每一个单元都要显示:rnrn1.数字rn2.一个圆,用不同的颜色代表不同的状态rn3.一个柱状图,用来和数字对应rnrn现在,我采用的方法是,数字用一个 label,圆用一个 shape,柱状图用一个 label 自绘。这样做没什么问题,但是,每次修改界面的时候,很麻烦,于是我想到了自制 VCL 组件,把这3个基本组件,放到一个容器控件中,但是,我发现,BCB在自制组件的时候,不像 VB 那么方便(VB 自制控件的时候,可以直接操作界面,所见即所得。比如,你可以直接继承一个 Panel 然后把其他的基本组件直接拖进去。。),而BCB6里面,你只能面对代码。。。。rnrn要怎么做呢??
如何将多个下拉列表组合成一个字段插入到数据库
ASP新手,在做一个注册页面,用户信息里有个生日字段,前台页面我用的是3个下拉列表,分别表示年、月、日,rn但是SQL数据库里生日字段就一个Birthday字段,类型是datetime,注册新用户是用的Dreamweaver自带的服务器行为插入记录实现的,rn现在不知道怎么把三个下拉列表组合成一个完整的出生年月日,然后插入到数据库的Birthday字段中,请高手帮忙指导下,多谢!rn如果有其他更好的方法也请大家帮忙指点指点。rn生日下拉列表代码如下:rn 生日rn rn 1900rn 1901rn 1902rn 1903rn 1904rn 1905rn 1906rn 年rn rn 1rn 2rn 3rn 4rn 5rn 6rn 7rn 8rn 9rn 10rn 11rn 12rn rn 月rn rn 1rn 2rn 3rn 4rn 5rn 6rn 7rn 8rn 9rn 10rn 11rn 12rn 13rn 14rn 15rn 16rn 17rn 18rn 19rn 20rn 21rn 22rn 23rn 24rn 25rn 26rn 27rn 28rn 29rn 30rn 31rn rn 日
如何将多个C语言模块组合成一个程序
如何将多个C语言模块组合成一个程序.pdf C++箴言:必须返回对象时别返回引用.pdf C++文本模式模仿磁盘扫描外观.pdf C++通过覆盖__atexit进行缓冲区溢出攻击.pdf C++通过并行机制处理鼠标和键盘.pdf
得到分页列表的分页数据
得到分页列表的分页数据: public static TablePager getTablePager(Connection conn, int pageSize, int pageIndex, String selectClause, String fromClause, String whereClause, String groupClause, String havingClause,
请教高手,如何将多个组件组合成一个组件?
rn我想开发一个组件表示一个电子元器件 如电池 要现实图片,同时还要有正负极,正常情况下显示一幅电池的图片,当鼠标移到电池两极时,鼠标发生改变。rn怎么办?rn请高手指点!rntao_ao@xinhuanet.comrn谢谢!!
如何将一个DataTable中的数据组合成一个字符串?
有一个DataTale,如何将其中的数据组合成一个字符串?使用-作为列分割符号,#作为行分割符号?rn高手指教一下,我是个新兵
数据列表功能研发:列表,排序,搜索,分页的展示
该课程是通用云平台实战项目,具体请参考课程的目录了解,课程目录更细节,准确。
TP框架 验证码 分页 无限级分类
控制器接受用户的输入并调用模型和视图去完成用户的需求。 控制器类名,文件名,数据库名一致, Lib/Action 3、 URL调度模式 url调度模式就是指在tp中访问页面url的方式 在tp中,调度模式共有四种,可以通过配置选项:URL_MDOEL来设置 0:普通模式 1:pathinfo模式 2:rewrite模式 3:兼容模式
两个列表组合成字典
#方法一 a={} b=['11','101'] c=['10','9'] a=dict(zip(b,c))#dict zip()方法 print(a) # for key in a: # print(key) # print(a[key]) #方法二 d={} s=[] for i in range(len(b)): d[b[i]]=c[i] #设置key,并赋予其v...
多个表的数据合为一个表,会不会增加MYSQL的压力?????
多个表的数据合为一个表,会不会增加MYSQL的压力?????
mysql 分页排序
mysql 分页排序
mysql分页加排序数据重复问题解决方案
mysql分页加排序数据重复问题解决方案
mysql分页排序带参数
mysql分页排序
Mysql查询 排序 分页
[code=sql]rnSELECT c.id,c.credits,c.companyName,c.companyId rnFROM((rnSELECT cr.id,(CASE WHEN cr.credits IS NULL THEN 0 ELSE cr.credits END) AS credits ,c.name AS companyName,c.id AS companyId rnFROM companies c rnLEFT JOIN g_credit_company cr ON cr.companyId = c.id WHERE c.name IS NOT NULL ) AS c) rnWHERE 1=1 AND c.companyName LIKE '%的公司%' ORDER BY c.credits DESC LIMIT 0,7 ;rn[/code]rn上面SQL是按照 c.credits降序排序,如果 有多条记录的 c.credits的值相同,并且相同 c.credits的值被分在不同的页中,会出现怎么样的结果?rn以下是执行结果:rn[code=sql]rnrnSELECT c.id,c.credits,c.companyName,c.companyId rnFROM((rnSELECT cr.id,(CASE WHEN cr.credits IS NULL THEN 0 ELSE cr.credits END) AS credits ,c.name AS companyName,c.id AS companyId rnFROM companies c rnLEFT JOIN g_credit_company cr ON cr.companyId = c.id WHERE c.name IS NOT NULL ) AS c) rnWHERE 1=1 AND c.companyName LIKE '%豆豆的公司%' ORDER BY c.credits DESCrn[/code]rn执行结果rn[img=https://img-bbs.csdn.net/upload/201412/24/1419413019_618592.png][/img]rn[code=sql]rnSELECT c.id,c.credits,c.companyName,c.companyId rnFROM((rnSELECT cr.id,(CASE WHEN cr.credits IS NULL THEN 0 ELSE cr.credits END) AS credits ,c.name AS companyName,c.id AS companyId rnFROM companies c rnLEFT JOIN g_credit_company cr ON cr.companyId = c.id WHERE c.name IS NOT NULL ) AS c) rnWHERE 1=1 AND c.companyName LIKE '%豆豆的公司%' ORDER BY c.credits DESC LIMIT 0,7rn[/code]rn执行结果:rn[img=https://img-bbs.csdn.net/upload/201412/24/1419413253_911450.jpg][/img]rn[code=sql]rnSELECT c.id,c.credits,c.companyName,c.companyId rnFROM((rnSELECT cr.id,(CASE WHEN cr.credits IS NULL THEN 0 ELSE cr.credits END) AS credits ,c.name AS companyName,c.id AS companyId rnFROM companies c rnLEFT JOIN g_credit_company cr ON cr.companyId = c.id WHERE c.name IS NOT NULL ) AS c) rnWHERE 1=1 AND c.companyName LIKE '%豆豆的公司%' ORDER BY c.credits DESC LIMIT 7,7rn[/code]rn执行结果:rn[img=https://img-bbs.csdn.net/upload/201412/24/1419413343_353187.jpg][/img]
mysql分页和排序练习
-- 排序-分页 -- 1.显示员工的详细资料,按姓名排序. select * from emp e  ORDER BY e.ENAME; -- 2.显示员工的姓名和受雇日期,根据其服务年限, -- 将最老的员工排在最前面. select e.ENAME,e.HIREDATE from emp e  ORDER BY e.HIREDATE asc; -- 3.显示所有员工的姓名、工
tp框架分页操作
分页类:ThinkPHP/Library/Think/Page.class.php 自定义分类 :
还是TP框架分页的问题
如果写死了一个sql查询条件num=3333 这样可以显示出来分页效果来 点击第二页或者第三页时也不会消失 rn但是如果查询条件不是写死的 而是根据搜索框里面的内容查询的话 别人说把action地址写成这样action=":U('First/qq') 再把where条件改成这样where("num like '%s'",array($num))就可以了 试了一下确实可以查询 但是点击第二页或第三页时查询出来的数据和分页都会消失了 不是没有传参数啊?我看手册上这样写的 带入一个参数 可是我不知道怎么用?foreach那里不知道怎么填?我把"num like '%s'",array($num)这句话代替$map吗?可是这样写报错了 还有$key和$val怎么写呢?rn$count = $User->where($map)->count();rn$Page = new \Think\Page($count,25);rnforeach($map as $key=>$val) rn $Page->parameter[$key] = urlencode($val);rnrn--------------------------------------------------------------------------------------------------------rn[code=php]rn rn rn 提交rnrn[/code]rn[code=php]rn $num=I("post.num");rn $qq=M("qq");rn $count=$qq->where('num=3333')->count();rn $Page=new \Think\Page($count,10);rn $show=$Page->show();rn $list = $qq->where('num=3333')->limit($Page->firstRow.','.$Page->listRows)->select();rn $this->assign('list',$list);rn $this->assign('page',$show);rn $this->display();rn[/code]
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件