有两个数据表 Stock(股票) Data(股票信息) 首先Stock
ID Name
001 青岛啤酒
002 海尔集团
003 魏桥创业然后Data
StockID Date open(开盘价)
003 2009-09-09 0.34
001 2009-09-08 0.45
002 2009-09-08 0.23
003 2009-09-08 0.36网页排版
(select * from Stock的结果印出来的)
001 青岛啤酒 添加数据(是按钮)
002 海尔集团 添加数据(是按钮)
003 魏桥创业 添加数据(是按钮)9号这天应该是有3条数据的(001和002号还没有添加进来)
那个网页上,怎么做到让 003 这支股票后面的按钮隐藏,因为0003已经添加过了,应该只显示001和002两个。
谢谢!!
ID Name
001 青岛啤酒
002 海尔集团
003 魏桥创业然后Data
StockID Date open(开盘价)
003 2009-09-09 0.34
001 2009-09-08 0.45
002 2009-09-08 0.23
003 2009-09-08 0.36网页排版
(select * from Stock的结果印出来的)
001 青岛啤酒 添加数据(是按钮)
002 海尔集团 添加数据(是按钮)
003 魏桥创业 添加数据(是按钮)9号这天应该是有3条数据的(001和002号还没有添加进来)
那个网页上,怎么做到让 003 这支股票后面的按钮隐藏,因为0003已经添加过了,应该只显示001和002两个。
谢谢!!
如果是这样的话:就可以用二条语句取。
先从Data表取出时间不等于当天的记录(后边显示按钮),再取出时间为当天的记录。不显示按钮
mysql> select * from Stock;
+------+----------+
| ID | Name |
+------+----------+
| 1 | 青岛啤酒 |
| 2 | 海尔集团 |
| 3 | 魏桥创业 |
+------+----------+
3 rows in set (0.00 sec)
mysql> select * from Data;
+---------+------------+------+
| StockID | Date | open |
+---------+------------+------+
| 3 | 2009-09-09 | 0.34 |
| 1 | 2009-09-08 | 0.45 |
| 2 | 2009-09-08 | 0.23 |
| 3 | 2009-09-08 | 0.36 |
+---------+------------+------+
4 rows in set (0.00 sec)mysql> select s.ID,s.Name,if(d.dd='2009-09-09',1,0) sign
-> from Stock s inner join
-> (select StockID,max(Date) dd from Data group by StockID)d
-> where s.id = d.StockID;
+------+----------+------+
| ID | Name | sign |
+------+----------+------+
| 1 | 青岛啤酒 | 0 |
| 2 | 海尔集团 | 0 |
| 3 | 魏桥创业 | 1 |
+------+----------+------+
3 rows in set (0.00 sec)在程序中只要根据sign是0还是1就可以确定按钮是添加数据还是隐藏。
#1146 - Table 'mysql.s' doesn't exist
SHOW KEYS FROM `s`
MySQL 返回:
#1146 - Table 'mysql.s' doesn't exist
你是指的这条语句运行错误?你没建s表,s表只是一个别名,肯定不存在啊。
-> from Stock s inner join
-> (select StockID,max(Date) dd from Data group by StockID)d
-> where s.id = d.StockID;
运行这条显示上边提示那个错误
3 2009-09-06 0.34
1 2009-09-08 0.45
2 2009-09-08 0.23
3 2009-09-08 0.36 ID Name
1 青岛啤酒
2 海尔集团
3 魏桥创业
SQL 查询 : [编辑] [解释 SQL] [创建 PHP 代码]
SELECT s.ID, s.Name,
IF (
d.dd = '2009-09-09', 1, 0
)sign
FROM Stock s
INNER JOIN (SELECT StockID, max( Date ) dd
FROM DATA GROUP BY StockID
)d
WHERE s.id = d.StockID
错误SQL 查询 : SHOW KEYS FROM `s` MySQL 返回:
#1146 - Table 'mysql.s' doesn't exist
查出2009-09-09这天Data数据表中的$row['StockID']然后把值压出数据$arr中
然后查询stock中的$row2['StockID'],每次循环的时候,比较一下,看看¥row2['StockID']在不在数组$arr中,如果在就说明已经添加过了,隐藏后面的按钮