【发布时间】:2018-06-04 01:27:09
【问题描述】:
我的问题是,我知道有很多不同的方法可以做同样的事情,但我怀疑有一个“标准”可以从查询构建表。
查看 2 种查询/表组合,哪一种更容易接受? 有没有更标准化的从查询构建表的版本? 我想知道这样做的“最佳实践”方式。
我不久前创建了一个查询:
$query1="select concat(sp.first_name,' ',sp.last_name)as 'Player Name',st.name as 'Team', spt_league_id as 'League', ss.Season_name
from stats_player sp
inner join stats_player_team stp,stats_team st, stats_season ss
where stp.player_num = sp.player_num and st.team_num=stp.team_id and ss.season_index=stp.season_id and stp.season_id=$this_season
order by st.League_id,st.Team_num,sp.player_num";
$result=mysql_query($query1);
$num=mysql_numrows($result);
mysql_close();
然后用这个建表:
?>
<table border="1" cellspacing="2" cellpadding="2">
<tr>
<td><font face="Arial, Helvetica, sans-serif"><b>Player</b></font></td>
<td><font face="Arial, Helvetica, sans-serif"><b>Team</b></font></td>
<td><font face="Arial, Helvetica, sans-serif"><b>League</b></font></td>
</tr>
<?php
$i=0;
while ($i < $num) {
$f1=mysql_result($result,$i,"Player Name");
$f2=mysql_result($result,$i,"Team");
$f3=mysql_result($result,$i,"League");
?>
<tr>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f1; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f2; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f3; ?></font></td>
</tr>
<?php
$i++;
}
?>
然后我遇到了别人写的代码:
$query= "select first_name,last_name,email_address,name,captain_id,paid,p.player_num,league_id from stats_player p left join stats_player_team t on p.player_num=t.player_num left join stats_team s on t.team_id=s.team_num where season_id=$this_season and name is not NULL order by league_id,s.captain_id,name,first_name";
$results=mysql_query($query);
print "<table border=1>";
print "<tr><td>First Name</td><td>Last Name</td><td>captain</td><td>Email?</td><td>League</td><td>Team</td><td>pay</td><td>wks played</td></tr>";
while ($row=mysql_fetch_assoc($results)){
if($row['email_address'] != NULL ){
$email='y';
}
else {
$email='n';
}
if($row[captain_id]==$row[player_num]){ $iscapt="Captain"; }
else{$iscapt="";}
$paid=$row[paid];
if($paid){$playpaid="<td bgcolor=#99ff33>paid</td>";}
else {$playpaid="<td bgcolor=#ff6633>not paid</td>";}
printf ("<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></td><td>%s</td>%s \n</tr>",$row['first_name'],$row['last_name'],$iscapt,$email,$row['league_id'],$row['name'],$playpaid);
}
print "</table>";
【问题讨论】:
-
不要使用
,使用
代替,现在在 Xhtml 中被认为是无效的
@CodingAnt - 你有那个链接吗?使用 div 代替 table,并使用 css 进行相应的对齐
标签: php mysql html-table