Как я создаю этот массив из запроса MySQL? - PullRequest
1 голос
/ 15 марта 2011

Я хочу знать, как я могу создать этот массив

$datos = new ArrayIterator(array(
  "08:00:00" => new Vector ("08:00:00","08:30:00","sandrad"),
  "10:00:00" => new ArrayIterator (array( "10:00:00", "10:45:00", "palomas" )),
  "20:00:00" => new Vector("20:00:00","21:15:00","pedrales"),
  "25:30:00" => new ArrayIterator ( .....etc....
))

это мой запрос и как я пытаюсь:

$sql = "SELECT * FROM amigos WHERE fecha='$fecha' AND ORDER BY hora_inicio ASC ";
$result = mysql_query($sql) or die(mysql_error());

$totalRows = mysql_num_rows($result);


while ($row = mysql_fetch_assoc($result)) {
  switch ($funcion) {
    case 'new Vector (':
      $funcion='new ArrayIterator (array(';
      break;
    case 'new ArrayIterator (array(':
      $funcion ='new Vector (';
      break;
    default:
      $funcion ='new Vector (';
}

switch ($fin_funcion) {
  case '),':
    $fin_funcion = ')),';
    break;
  case ')),':
    $fin_funcion = '),';
    break;
  default:
    $fin_funcion = '),';
}

$datos=new ArrayIterator(array(
  $row['hora_inicio'] => $funcion.'"'.$row['hora_inicio'].'","'.$row['hora_final'].'","'.$row['nombre'].'"'.$fin_funcion



));

}

но мне не повезло. есть идеи?

1 Ответ

1 голос
/ 15 марта 2011

Вы создаете новый $ datos ArrayIterator каждый раз через циклы.Если вам нужен ArrayIterator, создайте весь массив, а затем инициализируйте его.

$datos = array();
while($row=mysql_fetch_assoc($result)){
    switch($funcion){
        case 'new Vector (':
            $funcion='new ArrayIterator (array(';
            break;
        case 'new ArrayIterator (array(':
            $funcion ='new Vector (';
            break;
        default:
            $funcion ='new Vector (';
    }

    switch($fin_funcion){
        case '),':
            $fin_funcion = ')),';
            break;
        case ')),':
            $fin_funcion = '),';
            break;
        default:
            $fin_funcion = '),';
    }

    $datos[$row['hora_inicio']] = $funcion.'"'.$row['hora_inicio'].
        '","'.$row['hora_final'].'","'.$row['nombre'].'"'.$fin_funcion;
}

$datos = new ArrayIterator($datos);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...