2014-07-07 3 views
0

Route and Step이라는 내 MYSQL 테이블에서 두 개의 열을 선택합니다. 각 경로에는 여러 개의 단계가 있습니다. 다음과 비슷한 형식의 드롭 다운 메뉴를 만들고 싶습니다. (Route : Step). 두 열의 모든 값을 임시 배열에 저장합니다. 내가 명시한 형식으로 결과를 표시하려면 어떻게해야합니까? 이미 단계가있는 드롭 다운 메뉴가 있지만 경로를 표시하고 싶습니다.1 드롭 다운 엔트리에 2 개의 배열 값 표시

// Get step and route list according to flow 
    $d_step_list = array(); 
    $query= "SELECT routes.route, steps.step ". 
     "FROM steps ". 
     "LEFT JOIN routes_steps_cross ON steps.serial_step = routes_steps_cross.serial_step ". 
     "LEFT JOIN routes ON routes.serial_route = routes_steps_cross.serial_route ". 
     "LEFT JOIN flows_routes_cross ON flows_routes_cross.serial_route = routes.serial_route ". 
     "LEFT JOIN flows ON flows.serial_flow = flows_routes_cross.serial_flow ". 
     "WHERE flows.serial_flow = $s_flow AND routes_steps_cross.active = 1 ". 
     "ORDER BY routes.serial_route, steps.serial_route "; 
     if ($show_query == 1) { print "<font size=\"-1\">".$query."</font><br>\n";} 
     $result = mysql_query($query) or die('Query failed: ' . mysql_error());   
    // First fill with blank data. 
    $d_step_list[] = ""; 
    while ($temp_data = mysql_fetch_row($result)) { 
     $d_step_list["route"] = $temp_data[0]; 
     $d_step_list["step"] = $temp_data[1];   
    } 





      print "<tr>\n"; 
      print "<th bgcolor=\"#E9E9E9\"><font size=\"-1\">Disposition Step</th>\n";    
      print "<td align=\"center\"><font size=\"-2\">\n"; 
      print " <br><select name=\"d_step\">\n"; 
      foreach($d_step_list as $step1_selected) 
      { 
       if ($d_step == $step1_selected) 
       { 
        print "<option value=\"$step1_selected\" selected=\"1\">$step1_selected\n"; 
       } 
       else 
       { 
      print "<option value=\"$step1_selected\">$step1_selected\n"; 
       } 
      } 
      print "</select>\n"; 
      print "</td>\n";     
      print "</tr>\n"; 

답변

0

루프를 통과 할 때마다 동일한 배열 값을 덮어 쓰고 있습니다. 당신이 문자열로 요소를 설정해야

while ($temp_data = mysql_fetch_assoc($result)) { 
    $d_step_list[] = $temp_data['route'].":".$temp_data['step'];  
} 

주, 그래서 당신은 나중에 $d_step에 비교할 수 있습니다 당신이 그것을 인쇄 할 때 그래서 당신이 문자열을 확장 할 수 있습니다 : 그것은해야합니다.

+0

매력처럼 작동했습니다. 고맙습니다! 죄송합니다. 그러나 요소를 문자열로 설정하려면 어떻게해야합니까? 또한, 정확히 말하면 "나중에 $ d_step과 비교하여 문자열을 인쇄 할 때 문자열을 확장 할 수 있습니다." 미리 감사드립니다! – Nadeemm

+0

원본 코드를 작성한 방법에 따라,'$ d_step_list'를 2 차원 배열로 만들고 각 결과를 한 행에 넣고 경로와 단계를 다른 열로 만드는 것처럼 보입니다. 그러나 나중에'$ step1_selected'를'array ([route] => Route, [step] => Step) '가 아닌 하나의'Route : Step' 문자열처럼 출력하려고했습니다. – Barmar