2011-03-15 11 views
1

は、私はこれが私のクエリで、この配列mysqlクエリからこの配列を作成する方法は?

$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 



)); 

} 

が、私はすべての運を持っていないです。何か案は?

+0

プログラミングは運とはまったく関係がありません。それは技術に関するものです。 – zerkms

答えて

1

ループを使用するたびに、新しい$ 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); 
+0

ノップ、動作しない..私はまだ、何かおかげで試してみてください!あなたの世話に本当にうれしく思います。 – user659936

関連する問題