php从mysql中提取数据

时间:2012-03-26 11:16:00

标签: php mysql

我有这个包含以下行的mysql表:

id_cont  suma_lun   month           year
--------------------------------------------
FL28     2133       March       2012
FL28     2144       April           2012
FL28     2155       May         2012
FL28     2166       June        2012

如何提取suma_lun,月份和年份的id_cont?所以我得到这样的输出:

ID:           Month:  Monthly Sum:        Year:
----------------------------------------------
FL28          March   2133                 2012
              April   2144                 2012
              May     2155                 2012
              June    2166                 2012

这是我目前的代码:

$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if(!$link) die ('Could not connect to database: '.mysql_error());
mysql_select_db(DB_DATABASE,$link);
$sql="SELECT * FROM test WHERE id_cont = '$cur'";
$result=mysql_query($sql);

while ($row=mysql_fetch_array($result)) {
$a=$row["id_cont"];
$b=$row["suma_lun"];
$c=$row["month"];
$d=$row["year"];

}

我在表格中回显数据 谢谢!

3 个答案:

答案 0 :(得分:1)

使用查询

SELECT
      id_cont, month, suma_lun, year
FROM
      `your_table`
ORDER BY
id_cont 

您的输出将是

id_cont  suma_lun   month           year
--------------------------------------------
FL28     2133       March       2012
FL28     2144       April       2012
FL28     2155       May         2012
FL29     2166       June        2012
FL29     2226       July        2012
FL29     2353       Aug         2012

然后在PHP中你可以获得所需的输出

<?php

 $id=0;

 while($row=mysql_fetch_array($records))
 {
    if($row['id_cont']) !=id)
    {
        echo" $row[id_cont] ";
        id=$row['id_cont'];
    }
     echo "$row[month]";
     echo "$row[suma_lun]";
     echo "$row[year]";
 }

?>

答案 1 :(得分:0)

如果您想查找每个id_cont的所有月份,suma_luns和年份:

由于您没有为表格命名,我将使用“cont_table”作为表名:

SELECT month as id_cont as ID, month, suma_lun as Monthly_Sum, year FROM cont_table WHERE id_cont = 'FL28';

然后,您将运行此查询变化id_cont = ?以获取所需ID的记录。

使用mysql_fetch_assoc使用while循环将结果提取到关联数组中,以使用$result[column]获取数据。

例如,在循环的第一次迭代中,第一行中的Month将是:$result['month']

答案 2 :(得分:0)

实际上第一个记录集很好。但是,如果您希望直接从DB获得准备显示的表示,请尝试以下方法:

SELECT
  `id_cont` AS `ID`,
  GROUP_CONCAT(`month` SEPARATOR '<br />') AS `Month`,
  GROUP_CONCAT(`suma_lun` SEPARATOR '<br />') AS `Monthly Sum`,
  GROUP_CONCAT(`year` SEPARATOR '<br />') AS `Year`
FROM
  `your_table`
GROUP BY
  `id_cont`
相关问题