将表拆分为组 - PHP和MYSQL

时间:2014-05-03 17:56:40

标签: c# php mysql

表名是racecard。今天有9场比赛。

表结构如下所示:

RaceNo HorseNo HorseName

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页面,因为整个表按种族编号分组。

该页面的子标题应为Race No -1,Race No - 2:

比赛号码:1

HorseNo Horse Name赢赌注显示赌注下注

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 Horse Name赢赌注显示赌注下注

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

等等。此外,应该有带有文本框的列,用于输入下注金额。当用户提交表格时,投注细节应存储在投注表中,具有相应的比赛号码,马号和下注量。我需要使用数组。请帮我编码。

2 个答案:

答案 0 :(得分:0)

您应该创建第二场比赛,其中包含比赛号码以及可能的其他比赛数据(有时间吗?有名字吗?)。

CREATE TABLE RACE (id int(11) not null auto_increment primary key, name varchar(255));

每次添加新种族时,只需插入该表:

INSERT INTO race (name) value ("afternoonrace");

然后你在php中获得该种族的id(很容易找到C#):

$raceId = last_insert_id

然后进入赛车卡

INSERT INTO racecard (raceNo, horseNo, horseName) values ($raceId, 12, "Harald");

现在提出问题:

$stmt = " select id, name from race";

给出了比赛。使用您最喜欢的查询执行程序获取结果集$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));
    }
}

想想马匹的桌子。我的意思是,一匹马应该值得一桌,不应该吗? ; - )

答案 1 :(得分:0)

首先确定最高的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 = ...;

$++;

}