PHP 执行后的结果再重新排序的问题

2015-05-12 00:25:35 +08:00
 brando
table1
+----+----------+
| id | name |
| 1 | a |
| 2 | b |
| 3 | c |
| 4 | d |
+----+----------+


table2
+----+----------+
| id | tid |
| 1 | 3 |
| 2 | 1 |
| 3 | 4 |
| 4 | 2 |
+----+----------+

输出的结果:
| table2.id | table2.tid | table1.id | table1.name |
| 2 | 1 | 1 | a |
| 4 | 2 | 2 | b |
| 1 | 3 | 3 | c |
| 3 | 4 | 4 | d |

用一个简单的PHP写了下,但排序完全是,糟糕来解释了

$row=mysql_fetch_array($sql);
$sql=mysql_query("select * from table1 where 1",$conn);
while($row=mysql_fetch_array($sql)){
?>

<?php
$ordertime2 = date("Y-m");
$sql2 = mysql_query("select * from table2 where tid='".$row[id]."' and ordertime like '".$ordertime2."%' ",$conn);
while($row2=mysql_fetch_array($sql2)){
?>

<tr>
<td align="center"><?php echo $row[name];?></td>
<td align="center"><?php echo $row2[tid];?></td>
<td align="center">whatever</td>
</tr>


小弟学艺不精,现在想 以table2.tid的序号进行排序,还请过路大侠们指点,谢谢~
2683 次点击
所在节点    PHP
4 条回复
l12ab
2015-05-12 00:44:44 +08:00
ordertime 字段哪里来的?

select * from table2 t2, table1 t1 WHERE t2.tid = t1.id order by t2.id asc
feiyuanqiu
2015-05-12 00:56:50 +08:00
... sql 就可以处理了,跟楼上的一样

select * from table2 t2 join table1 t1 on t2.tid=t1.id where ordertime like '{$ordertime2}%' order by t2.id
b821025551b
2015-05-12 10:36:55 +08:00
order by t2.id asc(desc)
brando
2015-05-12 10:44:21 +08:00
ordertime 字段可以无视,不是重点。
鉴于一些表的特殊性,还是要使用'tid='".$row[id]."' 来处理。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/190312

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX