Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在1个下拉条目中显示2个数组值_Php_Mysql_Arrays_Database_Drop Down Menu - Fatal编程技术网

Php 在1个下拉条目中显示2个数组值

Php 在1个下拉条目中显示2个数组值,php,mysql,arrays,database,drop-down-menu,Php,Mysql,Arrays,Database,Drop Down Menu,我从我的MYSQL表中选择了两列名为Route和Step。每个路由都有多个与之关联的步骤。我想创建一个下拉菜单,其格式类似于以下内容:(Route:Step)。我将两列中的所有值存储到一个临时数组中。我怎样才能按照我所说的格式显示结果?我已经有一个只包含步骤的下拉菜单,但我也希望显示路线 // Get step and route list according to flow $d_step_list = array(); $query= "SELECT routes.r

我从我的
MYSQL
表中选择了两列名为Route和Step。每个路由都有多个与之关联的步骤。我想创建一个下拉菜单,其格式类似于以下内容:(Route:Step)。我将两列中的所有值存储到一个临时数组中。我怎样才能按照我所说的格式显示结果?我已经有一个只包含步骤的下拉菜单,但我也希望显示路线

    // 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";
//根据流程获取步骤和路线列表
$d_步骤_列表=数组();
$query=“选择routes.route,steps.step”。
“从步骤”。
“左连接路线\步骤\步骤上的交叉。串行\步骤=路线\步骤\步骤。串行\步骤”。
“routes.serial_route=routes_steps_cross.serial_route上的左连接路由”。
“左连接流\路由\流上交叉\路由\交叉。串行\路由=路由。串行\路由”。
“在flows.serial\u flow上左连接流=flows\u routes\u cross.serial\u flow”。
“其中flows.serial\u flow=$s\u flow和routes\u steps\u cross.active=1”。
“按路线订购。顺序路线,步骤。顺序路线”;
如果($show_query==1){print'.$query.
\n”} $result=mysql\u query($query)或die('query failed:'.mysql\u error()); //首先填写空白数据。 $d_步骤_列表[]=“”; 而($temp\u data=mysql\u fetch\u row($result)){ $d_步骤_列表[“路由”]=$temp_数据[0]; $d_步骤列表[“步骤”]=$temp_数据[1]; } 打印“\n”; 打印“处置步骤”\n; 打印“\n”; 打印“
\n”; foreach($d_步骤_列表为$step1_选中) { 如果($d_步骤==$step1_已选定) { 打印“$step1\u已选定\n”; } 其他的 { 打印“$step1\u已选定\n”; } } 打印“\n”; 打印“\n”; 打印“\n”;
每次通过循环时都会覆盖相同的数组值。应该是:

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

请注意,您需要将元素设置为字符串,以便稍后可以将其与
$d_step
进行比较,以便在打印时可以在字符串中展开它。

的工作非常有效。非常感谢。很抱歉,但是如何将元素设置为字符串?另外,我不知道你所说的“稍后将其与$d_步骤进行比较,以便打印时可以在字符串中展开它”的确切含义是什么。提前谢谢!按照您编写原始代码的方式,您似乎试图将
$d_step_list
制作成一个二维数组,每个结果都在一行中,路线和步骤在不同的列中。但后来您尝试打印
$step1_selected
,就好像它只是一个
路由:Step
字符串,而不是
数组([Route]=>Route,[Step]=>Step)