将表分成组- PHP和MYSQL
本文关键字:PHP MYSQL | 更新日期: 2023-09-27 18:01:35
表名为racecard。今天,有9个比赛。
表的结构是这样的:
赛马赛马赛马
1 1 FAJR
1 2 CUT DIAMOND
1 3 VOICE OF FAITH
1 4 CEASARINA
1 5 JAIPUR GEM
1 6 KATNISS
1 7 PLAN B
1 8 CLASSY DANCER
1 9 RAJASTHAN GLORY
1 10 HIGHWAY EXPRESS
1 11 TAJ E SHAHI
2 1 VICTORIOUS MARCH
2 2 DEMONSTRATOR
2 3 MYLA ROSE
2 4 RIO
2 5 MONZA
3 1 TITLEIST
3 2 SUNTAN BEAUTY
3 3 VICTORIAN
3 4 LAURUS PRIDE
…
我正在尝试创建一个PHP页面,其中整个表是按竞赛编号分组的。
页面应该有像比赛1号,比赛2号这样的小标题:
比赛编号:1
HorseNo马名赢投注Show投注Place投注
1 FAJR textbox textbox textbox
2 CUT DIAMOND textbox textbox textbox
3 VOICE OF FAITH textbox textbox textbox
4 CEASARINA textbox textbox textbox
5 JAIPUR GEM textbox textbox textbox
6 KATNISS textbox textbox textbox
7 PLAN B textbox textbox textbox
8 CLASSY DANCER textbox textbox textbox
9 RAJASTHAN GLORY textbox textbox textbox
10 HIGHWAY EXPRESS textbox textbox textbox
11 TAJ E SHAHI textbox textbox textbox
比赛编号:2
HorseNo马名赢投注Show投注Place投注
1 VICTORIOUS MARCH textbox textbox textbox
2 DEMONSTRATOR textbox textbox textbox
3 MYLA ROSE textbox textbox textbox
4 RIO textbox textbox textbox
5 MONZA textbox textbox textbox
等等。此外,应该有输入下注金额的文本框列。当用户提交表格时,投注详细信息应存储在投注表中,并显示相应的比赛号码、马匹号码和投注金额。我需要使用数组。请帮我编码。
首先确定最高的RaceNo。
SELECT RaceNo AS RaceNoMAX FROM racecard WHERE RaceNo=max(RaceNo)
然后用一个函数创建一个for或while循环来绘制表格
While ($i<RaceNoMAX ){
$sql = "SELECT HorseNo, Horse Name, Win_bet, Show_bet, Place_bet
FROM racecard
WHERE RaceNo=$i ORDER BY HorseNo ASC";
$result = ...;
$php_function_to_draw_the_table = ...;
$++;
}
您应该创建第二个表race,其中包含比赛编号和可能的比赛附加数据(有时间吗?有名字吗?)
CREATE TABLE RACE (id int(11) not null auto_increment primary key, name varchar(255));
每次添加新的race时,只需在表中插入:
INSERT INTO race (name) value ("afternoonrace");
然后在php中获得该比赛的id(在c#中很容易找到):
$raceId = last_insert_id
,然后进入racecard
INSERT INTO racecard (raceNo, horseNo, horseName) values ($raceId, 12, "Harald");
现在回答你的问题:
$stmt = " select id, name from race";
给出了比赛。使用您最喜欢的查询执行器来获取Resultset $rs
。不要使用mysql_query,它会带来不好的因果报应——我的意思是它已经过时了。
while($raceRow = $rs->next()){
$raceId = $raceRow['id'];
$raceName = $raceRow['name'];
$cardStmt = " select * from racecard where race = $raceId";
$cardRs = mysqli_query($con, $cardStmt);
print("<h2>Race $raceName</h2>");
while($cardRow = $cardRs->next()){
print(makeRow($cardRow));
}
}
也为马考虑一张桌子。我是说,一匹马应该值一张桌子,不是吗?: -)