2016-10-12 1 views
0

Я планирую создать таблицу html, заполненную местоположениями, за которыми следуют две подкатегории вещей, все вытащенные из базы данных и хранящиеся в массиве PHP. Что-то странное происходит с моей петлей foreach.Вложенная петля foreach, дающая странный инкрементный результат

$loc_query = "SELECT Location FROM Locations;"; 
    $loc_result = $mysqli->query($loc_query); 

    while($row = $loc_result->fetch_assoc()){ 
    $loc_results[] = $row; 
    } 


    foreach($loc_results as $loc){ 
     echo '<tr align="right"><td width="20" align="center" onmousedown="show()" bordercolor="#000000" 
     style="cursor:pointer;font-size:10pt;font-weight:bold;border-style:solid;border-width:1pt">+</td> 
     <td width="120" align="left" 
     bgcolor="#00FFFF" style="border-top-style:solid;border-top-width:1pt;border-right-style:solid; 
     border-right-width:1pt;border-bottom-style:solid;border-bottom-width:1pt" >'.$loc['Location'].'</td></tr>'; 

     $CC_query = "SELECT Cost_Center_Category.Cost_Center_Category_Name, Cost_Center_Name, 
     Locations.Location_Abbrev, Locations.Location, LC, 
     FX, RR_In_LC, Hours 
     FROM Cost_Centers 
     LEFT JOIN Cost_Center_Category 
     ON Cost_Centers.Cost_Center_Category = Cost_Center_Category.Cost_Center_Category_ID 
     LEFT JOIN Locations ON Cost_Centers.Location = Locations.Location_Abbrev;"; 

     $CC_result = $mysqli->query($CC_query); 


     while($row = $CC_result->fetch_assoc()){ 
      $CC_results[] = $row; 
     } 

     foreach ($CC_results as $result){ 
      switch($result['Cost_Center_Category_Name']) 
      { 
       case 'Strategy & Performance' : 
        echo '<tr align="right"><td width="20" align="center" onmousedown="show()" bordercolor="#000000" 
        style="cursor:pointer;font-size:10pt;font-weight:bold;border-style:solid;border-width:1pt">+</td> 
        <td width="150" align="left" 
         bgcolor="#FFCC00" 
         style="border-top-style:solid;border-top-width:1pt;border-right-style:solid; 
         border-right-width:1pt;border-bottom-style: 
         solid;border-bottom-width:1pt" 
         onmousedown="show()">'.$result['Cost_Center_Category_Name'].'</td></tr>'; 

        break; 

      } 
     } 
    } 

Он выводит все места в порядке, но как только я пытаюсь заполнить каждое место с МВЗ категории, он выдает что-то вроде

  • Нюрнберг
  • Стратегия & Производительность
  • Регенсбург
  • Стратегия & Рабочие характеристики
  • Stra tegy & Performance
  • Sibiu
  • Стратегия & Производительность
  • Стратегия & Производительность
  • Стратегия & Производительность

и растет каждый раз. Я знаю, что это должно быть связано с моей логикой, я пробовал такие вещи, как break 2, и я думаю, что я слишком долго смотрел на нее, это, наверное, очевидно. Что-то не так с тем, как я настраивал вложенные циклы или это что-то еще?

ответ

0

Сброс $CC_results для пустого массива на каждой итерации цикла foreach:

+0

вы спасатель! Спасибо! –

 Смежные вопросы

  • Нет связанных вопросов^_^