【问题标题】:MySQL and PHP - how to display all rows where field value equals x?MySQL和PHP - 如何显示字段值等于x的所有行?
【发布时间】:2012-05-25 16:35:05
【问题描述】:

我有一个包含以下字段的数据库表 (ff_projections):

ID  Player  Position    Team    Pass_Yds    Pass_TDs    Int_Thrown  Rush_Yds    Rush_TDs    Rec_Yds Rec_TDs Receptions  Fumbles Extra_Pts   FG  Sacks   Int_Caught  Def_TD  ST_TD   Shutouts    Overall_Pts Total_Fantasy_Pts

我想要的是显示 Position = QB 的所有行。只有某些字段会出现在 行。

像这样:

SELECT Player, Team, Pass_Yds, Pass_TDs, Int_Thrown, Rush_Yds, Rush_TDs, Overall_Pts, Total_Fantasy_Pts  FROM ff_projections WHERE Position = 'QB';

然后将结果显示在网页上的表格中。

【问题讨论】:

  • 发布几个示例行、您认为应该显示的内容以及实际显示的内容会很有帮助。
  • @phpmeh 我的解释是查询没问题,但是OP不知道如何执行查询并在PHP中输出数据。
  • Michael - 就是这样 :) 我通常知道我想做的事情的逻辑,但不一定知道执行它所需的正确语法。
  • 这是一个更通用的解决方案,它将打印任何查询的结果:stackoverflow.com/questions/2970936/…

标签: php mysql select


【解决方案1】:
<?php
$con = mysql_connect("localhost","user","password");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("database", $con);

$result = mysql_query("SELECT Player, Team, Pass_Yds, Pass_TDs, Int_Thrown, Rush_Yds, Rush_TDs, Overall_Pts, Total_Fantasy_Pts FROM ff_projections WHERE Position = 'QB' ORDER BY Pass_Yds DESC;");

while($row = mysql_fetch_array($result))
  {
  echo $row['Player'];
  echo $row['Team'];
  ....
  }

mysql_close($con);
?>

【讨论】:

  • 这正是我需要的!现在我将如何建立一个默认的 SORT BY?例如,当这些行显示时,我希望它们首先按照最高的传球码数 (Pass_Yds)。
  • 我想通了 :) 我添加了 ORDER BY Pass_Yds DESC 并且效果很好!
  • @user1255168 这个例子中有一个静态过滤器值。如果您通过用户输入传递(正确转义),请小心。
  • FWIW,这是一个使用较新的mysqli 接口的示例:w3schools.com/php/php_mysql_select.asp 它还显示了每行更好的输出。
  • 这是一个更通用的解决方案,它将打印任何查询的结果:stackoverflow.com/questions/2970936/…
猜你喜欢
  • 2012-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-18
相关资源
最近更新 更多