如何交叉选择一些数据

时间:2013-06-14 14:06:14

标签: php mysql

如果在之前的一些问题中也回答了这个问题,我很抱歉,但我需要一些帮助。

我有一张桌子,例如:

x       y  

1       a 

1       c

2       e 

2       g 

所以我真正需要的是使用以下格式显示此表中的所有数据: (不确定我是否理解但是......)

如果x=1显示在表a的第一行和第二个显示b

如:

Row 1   Row 2   Row 3

1       a       c

2       e       g

非常感谢任何帮助。如果你认为这太麻烦了,我真的不想要完整的剧本,但至少要指出我应该使用的女巫功能。

1 个答案:

答案 0 :(得分:0)

试试这个:

假设您的表名为测试

$sql = 'SELECT x, y FROM `test`;';
$run = mysql_query( $sql );


$data = array();
if( $run && mysql_num_rows( $run ) ) {
   while( ( $fetch = mysql_fetch_assoc( $run ) ) !== false ) {
       $data[ $fetch[ 'x' ] ][] = $fetch[ 'y' ];
   }
}

<强> HTML

<table border="0">
   <tbody>
      <tr>
         <th>Row 1</th>
         <th>Row 2</th>
         <th>Row 3</th>
      </tr>
      <?php
      foreach( $data as $key => $row ) {
      ?>
      <tr>
          <td><?php echo $key;?></td>
          <?php
          foreach( $row as $value ) {
          ?>
          <td><?php echo $value;?></td>
          <?php
          }
          ?>
      </tr>
      <?php
      }
      ?>
   </tbody>
</table>

希望这有帮助。