php两个依赖的下拉列表mysql查询获取到数组

时间:2016-08-20 15:40:42

标签: php jquery mysql dropdown

我目前正在努力处理两个下拉列表,其中来自mysql的数据不正确。

第一个下拉列表是位置列表,后跟第二个下拉列表,必须显示可用日期。

这是所请求的php的代码:

<?php
require('base.php');
switch(@$_REQUEST['location']){
    case 'RD':
        $query = mysql_query("SELECT * FROM `courses` where location = 'Dubai'");
        $row = mysql_fetch_array($query);
        while($row = mysql_fetch_array($query))
        {
        $locdata = array_push($locdata, echo $row['day'].' '.$row['date'].' '.$row['month']);
        }
        break;
    case 'UT': 
        $locdata=array( 'Monday 22 August', 'Tuesday 23 August');
        break;
    case 'NY':
        $query = mysql_query("SELECT * FROM `cursussen` where locatie = 'New York'");
        $row = mysql_fetch_array($query);
        while($row = mysql_fetch_array($query))
        {
        $locdata = array_push($locdata, echo $row['dag'].' '.$row['datum'].' '.$row['maand']);
        }
        break;
    case 'AM':
        $query = mysql_query("SELECT * FROM `cursussen` where locatie = 'Amsterdam'");
        $row = mysql_fetch_array($query);
        while($row = mysql_fetch_array($query))
        {
        $locdata = array_push($locdata, echo $row['dag'].' '.$row['datum'].' '.$row['maand']);
        }
        break;

    default: 
        $locdata=false;
}
if(!$locdata)echo 'Selecteer eerst een locatie';
else echo '<select name="locations"><option>'.join('</option>           <option>',$locdata).'</select>';

如果所有情况都是手动设置的,就像UT一样,它可以很好地工作。如何将从数据库中获取的数据附加到数组中?

2 个答案:

答案 0 :(得分:0)

首先使用以下方法在Switch之前设置数组:

$locdata = array();

然后纠正你的推动:

array_push($locdata, ..... etc )

答案 1 :(得分:0)

case 'RD':
    $query = "SELECT * FROM `course` where locatie='Amsterdam'";
    $result = mysqli_query($link,$query);
    // if (!$result) {
    //   printf("Error: %s\n", mysqli_error($link));
    //   exit();
    //}     
    $locdata = array();
    while($row = mysqli_fetch_array($result))
    {
        $temp = $row['day']." ".$row['date']." ".$row['month'];
        array_push($locdata, $temp);
    }
    break;

完成了这项工作