首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从数据库中选择Mysql

问从数据库中选择Mysql
EN

Stack Overflow用户
提问于 2016-08-11 16:48:46
回答 1查看 33关注 0票数 0

我是这方面的新手,我还在学习。我已经为NHL锦标赛做了一个页面,现在我想缩短我的php代码,但实际上我不知道怎么做。

我的问题是从数据库中选择。它变得非常复杂,但也许有一种方法可以让它变得更短?

代码语言:javascript
复制
<?php
    if( IS_USER ){
$team = mysql::fetch(mysql::query( 1 , "SELECT * FROM league_nhl_standings WHERE league_id = '".get_seg('ceturtais')."' AND player_id = '" . get_cookie('user_id') . "'"));
$center = mysql::rows(mysql::query(1,"SELECT * FROM player_list WHERE team = '$team[team_small]' AND position = 'C'")); 
$defenseman = mysql::rows(mysql::query(1,"SELECT * FROM player_list WHERE team = '$team[team_small]' AND position = 'D'")); 
$goalies = mysql::rows(mysql::query(1,"SELECT * FROM player_list WHERE team = '$team[team_small]' AND position = 'GK'")); 
$leftw = mysql::rows(mysql::query(1,"SELECT * FROM player_list WHERE team = '$team[team_small]' AND position = 'LW'")); 
$rightw = mysql::rows(mysql::query(1,"SELECT * FROM player_list WHERE team = '$team[team_small]' AND position = 'RW'")); 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-11 16:51:55

您可以在一个查询中组合以下查询。

代码语言:javascript
复制
$center = mysql::rows(mysql::query(1,"SELECT * FROM player_list WHERE team = '$team[team_small]' AND position = 'C'")); 
$defenseman = mysql::rows(mysql::query(1,"SELECT * FROM player_list WHERE team = '$team[team_small]' AND position = 'D'")); 
$goalies = mysql::rows(mysql::query(1,"SELECT * FROM player_list WHERE team = '$team[team_small]' AND position = 'GK'")); 
$leftw = mysql::rows(mysql::query(1,"SELECT * FROM player_list WHERE team = '$team[team_small]' AND position = 'LW'")); 
$rightw = mysql::rows(mysql::query(1,"SELECT * FROM player_list WHERE team = '$team[team_small]' AND position = 'RW'")); 

就像这样,

代码语言:javascript
复制
$allplayers=mysql::rows(mysql::query(1,"SELECT * FROM player_list WHERE team = '$team[team_small]' AND position IN ('C', 'D', 'GK', 'LW', 'RW')")); 

现在,您可以遍历$allplayers,并通过比较position列和简单的PHP if条件在循环中过滤结果集。

这将减少对数据库的查询量,并回复PHP脚本以过滤/获取适当的数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38891564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档