首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在php和namevalue中显示最小值和最大值mysql?

在php和namevalue中显示最小值和最大值mysql?
EN

Stack Overflow用户
提问于 2018-05-29 08:30:16
回答 1查看 562关注 0票数 0

我想寻求帮助来显示一些关于在数据库中进行的查询的信息。我有一张名为newtest的桌子。在这个表中,我有3个字段=> (id、namevalue和num)。在使用phpmyadmin或adminer的查询中,我可以按照我想要的方式整齐地显示信息。例如,我有以下内容:

代码语言:javascript
复制
DROP TABLE IF EXISTS `newtest`;
CREATE TABLE `newtest` (
`id` int(11) NOT NULL,
`namevalue` char(30) NOT NULL,
`num` char(30) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `newtest` (`id`, `namevalue`, `num`) VALUES
(1, 'X',    '10.55.1.100'),
(2, 'X',    '10.55.1.101'),
(3, 'X',    '10.55.1.102'),
(4, 'X',    '10.55.1.103'),
(5, 'X',    '10.55.1.104'),
(6, 'X',    '10.55.1.105'),
(7, 'X',    '10.55.1.106'),
(8, 'Y',    '10.55.1.107'),
(9, 'Y',    '10.55.1.108'),
(10,    'Y',    '10.55.1.109'),
(11,    'Y',    '10.55.1.110'),
(12,    'Y',    '10.55.1.111'),
(13,    'Y',    '10.55.1.112'),
(14,    'Y',    '10.55.1.113'),
(15,    'Y',    '10.55.1.114'),
(16,    'Y',    '10.55.1.115'),
(17,    'Y',    '10.55.1.116');

在使用以下命令的简单查询中:

代码语言:javascript
复制
SELECT SQL_CALC_FOUND_ROWS MIN(`num`), MAX(`num`), `namevalue` FROM ` 
newtest` GROUP BY `namevalue`

我得到了回报:

代码语言:javascript
复制
MIN(`num`)  MAX(`num`)  namevalue
10.55.1.100 10.55.1.106   X
10.55.1.107 10.55.1.116   Y

然而,当在php中播放这个并试图显示一个错误时,尽管名称值(X和Y)中的值​​被正常显示,但是每个'X‘和'Y’的最小值和最大值​​没有显示。下面是php代码的摘录。

代码语言:javascript
复制
$myquery = "SELECT SQL_CALC_FOUND_ROWS MIN(`num`), MAX(`num`), `namevalue` FROM `newtest` GROUP BY `namevalue`";
$To_info = $PDO->prepare($myquery);
$To_info->execute();



  </div>
 </div>
 <div class="col-md-12">
  <div class="info-box">
   <div class="box-body table-responsive no-padding">
    <table id="example1" class="table table-bordered table-striped">
     <thead>
     <tr>
      <th style="width: 10%">Type</th>
      <th style="width: 10%">MaxValue...</th>
      <th style="width: 10%">MinValue...</th>
     </tr>
    </thead>
     <tbody>

     <?php
      while ($VFor = $To_info->fetch(PDO::FETCH_ASSOC)):
        echo '<td>' . $VFor['namevalue'] . '</td>';
        echo '<td>' . $VFor['num'] . '</td>';
       echo '</tr>';
       endwhile;
      ?>
      </tbody>
    </table>
   </div>
  </div>
 </div>

我的结果是:

代码语言:javascript
复制
Type    MaxValue... MinValue...
X   
Y   

如何加载X和Y旁边的最小值和最大值​​?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-29 08:37:29

问题是MIN(num)MAX(num)不会作为$VFor['num']出现在您的数组中。尝试将查询(变量命名)更改为:

代码语言:javascript
复制
$myquery = "SELECT SQL_CALC_FOUND_ROWS MIN(`num`) AS minv, MAX(`num`) AS maxv, `namevalue` FROM `newtest` GROUP BY `namevalue`";

然后改变

代码语言:javascript
复制
   echo '<td>' . $VFor['num'] . '</td>';

代码语言:javascript
复制
   echo '<td>' . $VFor['minv'] . '</td>';
   echo '<td>' . $VFor['maxv'] . '</td>';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50574800

复制
相关文章

相似问题

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