2016-01-06 15 views
5

Ciao Ho un problema relativo ad un array, sto cercando di richiedere grafico api e salva i dati in database.here è la mia serieCome recuperare i dati da array e inserire nel database

Array 
(
[threadId] => t_mid.1445648572476:316f06a4adc6d7dd57 
[sender] => Array 
    (
     [0] => Array 
      (
       [0] => stdClass Object 
        (
         [name] => rajesh Prasad Shah 
         [email] => [email protected] 
         [id] => 543634645764577 
        ) 

       [1] => stdClass Object 
        (
         [name] => rjtest 
         [email] => [email protected] 
         [id] => 849929567895403 
        ) 

      ) 

    ) 

[messages] => Array 
    (
     [messages] => Array 
      (
       [0] => Array 
        (
         [message] => Same to u dear. 
         [from] => stdClass Object 
          (
           [name] => rajesh Prasad Shah 
           [email] => [email protected] 
           [id] => 543634645764577 
          ) 

         [created_time] => 2015-12-31T11:31:24+0000 
         [id] => m_mid.1451561484487:5b3276ddd9d86d1480 
         [to] => stdClass Object 
          (
           [data] => Array 
            (
             [0] => stdClass Object 
              (
               [name] => rjtest 
               [email] => [email protected] 
               [id] => 849929567895403 
              ) 

            ) 

          ) 

         [tags] => stdClass Object 
          (
           [data] => Array 
            (
             [0] => stdClass Object 
              (
               [name] => inbox 
              ) 

             [1] => stdClass Object 
              (
               [name] => source:chat 
              ) 

            ) 

          ) 

        ) 

       [1] => Array 
        (
         [message] => Happy New Year to all of you 
         [from] => stdClass Object 
          (
           [name] => rjtest 
           [email] => [email protected] 
           [id] => 849929567895403 
          ) 

         [created_time] => 2015-12-31T10:37:47+0000 
         [id] => m_mid.1451558267514:4c017e5a1f8e997586 
         [to] => stdClass Object 
          (
           [data] => Array 
            (
             [0] => stdClass Object 
              (
               [name] => rajesh Prasad Shah 
               [email] => [email protected] 
               [id] => 543634645764577 
              ) 

            ) 

          ) 

         [tags] => stdClass Object 
          (
           [data] => Array 
            (
             [0] => stdClass Object 
              (
               [name] => inbox 
              ) 

             [1] => stdClass Object 
              (
               [name] => read 
              ) 

             [2] => stdClass Object 
              (
               [name] => sent 
              ) 

             [3] => stdClass Object 
              (
               [name] => source:web 
              ) 

            ) 

          ) 

        ) 

       [2] => Array 
        (
         [message] => Happy New Year to all of you 
         [from] => stdClass Object 
          (
           [name] => rjtest 
           [email] => [email protected] 
           [id] => 849929567895403 
          ) 

         [created_time] => 2015-12-31T09:44:49+0000 
         [id] => m_mid.1451555089630:1036078c7bcabeed78 
         [to] => stdClass Object 
          (
           [data] => Array 
            (
             [0] => stdClass Object 
              (
               [name] => rajesh Prasad Shah 
               [email] => [email protected] 
               [id] => 543634645764577 
              ) 

            ) 

          ) 

         [tags] => stdClass Object 
          (
           [data] => Array 
            (
             [0] => stdClass Object 
              (
               [name] => inbox 
              ) 

             [1] => stdClass Object 
              (
               [name] => read 
              ) 

             [2] => stdClass Object 
              (
               [name] => sent 
              ) 

             [3] => stdClass Object 
              (
               [name] => source:web 
              ) 

            ) 

          ) 

        ) 

       [3] => Array 
        (
         [message] => Happy New Year to all of you 
         [from] => stdClass Object 
          (
           [name] => rjtest 
           [email] => [email protected] 
           [id] => 849929567895403 
          ) 

         [created_time] => 2015-12-31T09:43:28+0000 
         [id] => m_mid.1451555008621:62c3365e35ededc773 
         [to] => stdClass Object 
          (
           [data] => Array 
            (
             [0] => stdClass Object 
              (
               [name] => rajesh Prasad Shah 
               [email] => [email protected] 
               [id] => 543634645764577 
              ) 

            ) 

          ) 

         [tags] => stdClass Object 
          (
           [data] => Array 
            (
             [0] => stdClass Object 
              (
               [name] => inbox 
              ) 

             [1] => stdClass Object 
              (
               [name] => read 
              ) 

             [2] => stdClass Object 
              (
               [name] => sent 
              ) 

             [3] => stdClass Object 
              (
               [name] => source:web 
              ) 

            ) 

          ) 

        ) 

       [4] => Array 
        (
         [message] => Very Good 
         [from] => stdClass Object 
          (
           [name] => rajesh Prasad Shah 
           [email] => [email protected] 
           [id] => 543634645764577 
          ) 

         [created_time] => 2015-09-01T09:13:34+0000 
         [id] => m_mid.1445648574720:c2746f8b55fff17369 
         [to] => stdClass Object 
          (
           [data] => Array 
            (
             [0] => stdClass Object 
              (
               [name] => rjtest 
               [email] => [email protected] 
               [id] => 849929567895403 
              ) 

            ) 

          ) 

         [tags] => stdClass Object 
          (
           [data] => Array 
            (
             [0] => stdClass Object 
              (
               [name] => inbox 
              ) 

             [1] => stdClass Object 
              (
               [name] => read 
              ) 

             [2] => stdClass Object 
              (
               [name] => source:chat 
              ) 

            ) 

          ) 

        ) 

       [5] => Array 
        (
         [message] => Good 
         [from] => stdClass Object 
          (
           [name] => rajesh Prasad Shah 
           [email] => [email protected] 
           [id] => 543634645764577 
          ) 

         [created_time] => 2015-09-01T09:13:32+0000 
         [id] => m_mid.1445648572476:316f06a4adc6d7dd57 
         [to] => stdClass Object 
          (
           [data] => Array 
            (
             [0] => stdClass Object 
              (
               [name] => rjtest 
               [email] => [email protected] 
               [id] => 849929567895403 
              ) 

            ) 

          ) 

         [tags] => stdClass Object 
          (
           [data] => Array 
            (
             [0] => stdClass Object 
              (
               [name] => inbox 
              ) 

             [1] => stdClass Object 
              (
               [name] => read 
              ) 

             [2] => stdClass Object 
              (
               [name] => source:chat 
              ) 

            ) 

          ) 

        ) 

      ) 

    ) 

)

questo è il mio codice php da che ho recuperare i dati

foreach($data as $evaluatemessage){ 
    //echo "<pre>";print_r($evaluatemessage); die; 
$inbox=array(); 
    $inbox['thread_id']=$evaluatemessage['threadId']; 
    foreach($evaluatemessage['messages'] as $messagedet){ 
    //print_r($messagedet[0]['id']); die; 
    $inbox['smg_id']=$messagedet[$j]['id']; 
    $inbox['body']=$messagedet[$j]['message']; 
    $inbox['time']=$messagedet[$j]['created_time']; 

    //$inbox['msg_type']=$data; 
//$inbox['user_id']=$data; 
    $inbox['From_name']=$messagedet[$j]['from']->name; 
    $inbox['To_name']=$messagedet[$j]['to']->data[0]->name; 
    $inbox['From_id']=$messagedet[$j]['from']->id; 
    $inbox['To_id']=$messagedet[$j]['to']->data[0]->id; 


    $inbox['tags']=$messagedet[$j]['tags']->data[1]->name; 
//$inbox['Page_id']=$data; 
//echo "<pre>";print_r($inbox); die; 
$inbox['Page_id']='12345'; 
    $this->facebook_inboxes->save($inbox); 
    $j++; 
    } 


$i++; 
} 

quando ho colpito con questo codice solo un singolo della discussione e contenuto singolo messaggio sono resto saved.but non sono, voglio che ogni filo id con là di tutti i messaggi id un d il corpo del messaggio viene salvato riga per riga, ma non è in grado di farlo nessuno può aiutarmi come lo faccio.

risposta

2

Write questo codice prima Salva funzione

$this->facebook_inboxes->create(); 

Questa è la funzione di ricostruzione della torta per memorizzare più righe.

+0

Grazie a questo funziona. –

0

C'è un altro array di messaggi all'interno della matrice di messaggi. Quindi, secondo la vostra struttura a matrice, il secondo ciclo sarà così:

foreach($evaluatemessage['messages']['messages'] as $messagedet){ 

    //print_r($messagedet[0]['id']); die; 
    $inbox['smg_id']=$messagedet[$j]['id']; 
    $inbox['body']=$messagedet[$j]['message']; 
    $inbox['time']=$messagedet[$j]['created_time']; 

. 
. 
. 

} 

e si sta utilizzando solo:

foreach($evaluatemessage['messages'] as $messagedet){} 

Ecco il codice completo:

foreach($data as $evaluatemessage){ 
    //echo "<pre>";print_r($evaluatemessage); die; 
$inbox=array(); 
    $inbox['thread_id']=$evaluatemessage['threadId']; 
    foreach($evaluatemessage['messages']['messages'] as $messagedet){ 
    //print_r($messagedet[0]['id']); die; 
    $inbox['smg_id']=$messagedet[$j]['id']; 
    $inbox['body']=$messagedet[$j]['message']; 
    $inbox['time']=$messagedet[$j]['created_time']; 

    //$inbox['msg_type']=$data; 
//$inbox['user_id']=$data; 
    $inbox['From_name']=$messagedet[$j]['from']->name; 
    $inbox['To_name']=$messagedet[$j]['to']->data[0]->name; 
    $inbox['From_id']=$messagedet[$j]['from']->id; 
    $inbox['To_id']=$messagedet[$j]['to']->data[0]->id; 


    $inbox['tags']=$messagedet[$j]['tags']->data[1]->name; 
//$inbox['Page_id']=$data; 
//echo "<pre>";print_r($inbox); die; 
$inbox['Page_id']='12345'; 
    $this->facebook_inboxes->save($inbox); 
    $j++; 
    } 


$i++; 
} 
+0

ciao threadid t_mid.1445648572476: 316f06a4adc6d7dd57 i dati sono inseriti ma threr sono un altro ID di 3 file i cui dati non sono stati inseriti. –

+0

Potete controllare il mio codice e suggerirmi. –

+0

Ma non c'è nessun 'threadid t_mid' nell'array che hai fornito. –

Problemi correlati