2012-06-13 38 views
0

我有一個數據表mobile(id, name, size);按列使用php mysql組結果?

(1, "Asha 301", "240 x 400"); 
(2, "Asha 302", "480 x 800"); 
(3, "Asha 303", "240 x 400"); 
(4, "Asha 304", "480 x 800"); 
(5, "Asha 305", "240 x 400"); 
(6, "Asha 306", "240 x 400"); 
<?php 
    $query = "SELECT id, name, size 
       FROM `mobile` 
       GROUP BY size Order by display_size "; 
    $results = mysql_fetch_array($query); 
    foreach ($results as $result) { 
     ?> 
     <li> 
      <?php echo $result['size']; ?> 
      <ul> 
       <li><?php echo $result['name']; ?></li> 
      </ul> 
     </li> 
<?php 
} 
?> 

而且結果是:

240 x 400 
    Asha 301 
400 x 800 
    Asha 302 

結果只拿到1行,怎麼弄都行?

240 x 400 
    Asha 301 
    Asha 303 
    Asha 305 
    Asha 306 
400 x 800 
    Asha 302 
    Asha 304 

如何解決?

+0

看到這個問題:http://stackoverflow.com/questions/3707613/how-to-group-result -in-分組功能於PHP – Brian

回答

1

mysql_fetch_object返回一個對象,所以在foreach中遍歷它不做任何事情。

相反,你應該使用mysql_fetch_array,其返回結果的數組,

1
$query = "SELECT `id`, `name`, `size` FROM `mobile` Order by `size` "; 
$results = mysql_query($query); 
while ($result=mysql_fetch_array($results)) { 
    ?> 
    <li> 
     <?php echo $result['size']; ?> 
     <ul> 
      <li><?php echo $result['name']; ?></li> 
     </ul> 
    </li>