2016-08-26 52 views
2

我正在嘗試列出體育聯盟內部的產品。我目前的PHP foreach吐出所有的聯賽和產品。大。我如何重新組織php體育陣列

all IM offerings

現在我只想展現運動(當然)的1個實例,如「籃球」,然後列出多個聯賽發行(發行)在列。

我不能做基於 另一個循環,如果NT $ [「當然」] ==「籃球」,因爲這將改變

enter image description here

不知道如果我的MSSQL的查詢需要改變或如果我可以使用另一個foreach循環?

查詢

$sql2 = SELECT category 
,course 
,offering 
,Semester 
,spots 
,registerLink from dbtable WHERE semester like "%Fall 2016%" and category like "%Leagues%" ORDER BY course 

$rs= mssql_query ($sql2, $con) 
or die("Error!"); 

$result = array(); 
if (mssql_num_rows($rs)) { 
    while ($row = mssql_fetch_assoc($rs)) { 
     $result[] = $row; 
    } 
} 
return $result; 
exit(); 

我的foreach鑑於循環:

<?php 
foreach ($data as $nt) { 
echo "<div class='col-md-2'>"; 
echo "<h2><a href='#'>".$nt['course']."</a></h2>"; 
echo "<h3>".$nt['offering']."</h3>"; 
echo "<h4>".$nt['Semester']."</h4>"; 
echo "<p>".$nt['spots']."</p>"; 
echo "<button>".$nt['registerLink']."</button>"; 
echo "</div>"; 
} 

所以我只想澄清: 類= 「聯盟」,這是我的查詢 當然=籃球和腰旗橄欖球等

+1

而不是'$ result [] = $ row;'do'$ result [$ row ['course']] [] = $ row;'ad then print_r($ result);檢查結果是否具有所需的格式? –

+0

把這個作爲答案,我會選擇它。謝謝! – sloga

回答

1

這很簡單: - 的

代替

$result[] = $row;

$result[ $row['course']][] = $row;

0

簡單解決方案:

$result = array(); 
if (mssql_num_rows($rs)) { 
    while ($row = mssql_fetch_assoc($rs)) { 
     if(!in_array($row["course"], $result)) 
     { 
      array_push($result, $row["course"]); 
     } 
     array_push($result[$row["course"]], $row); 
    } 
} 
return $result; 

,並考慮循環:

foreach($data as $key => $value) 
{ 
    echo "<h1>".$key."</h1>"; 
    foreach($value as $nt) 
    { 
    echo "<div class='col-md-2'>"; 
    echo "<h3>".$nt['offering']."</h3>"; 
    echo "<h4>".$nt['Semester']."</h4>"; 
    echo "<p>".$nt['spots']."</p>"; 
    echo "<button>".$nt['registerLink']."</button>"; 
    echo "</div>"; 
    } 
} 
+0

可能是我錯了,但我不認爲這需要很多東西(如果你仔細看看輸出) –

+0

讓我:array(8){[0] => string(10)「Basketball」[「Basketball」 ] => NULL [1] => string(13)「Flag Football」[「Flag Football」] => NULL [2] => string(6)「Futsal」[「Futsal」] => NULL [3] = > string(6)「Soccer」[「Soccer」] => NULL} – sloga

+0

@sloga你檢查了我的評論。做一次,然後打印出結果並檢查你想要的輸出是否到來? –