Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Problema lettura Array

  1. #1

    Problema lettura Array

    Salve a tutti,

    in fase di configurazione di un CRM scritto in php, ho la necessità di modificare e gestire un array che è così strutturato:

    codice:
    Array ( [select] => SELECT DISTINCT calls.id , calls.status , calls.recurring_source , calls.name , calls.parent_id , calls.parent_type , calls.date_start , calls.assigned_user_id [from] => FROM calls [from_min] => FROM calls [where] => where ((calls.status IN ('Planned') )) AND calls.deleted=0 [order_by] => ORDER BY calls.date_entered DESC [inner_join] => LEFT JOIN calls_users c_u on c_u.call_id = calls.id ) Array ( [select] => SELECT DISTINCT meetings.id , meetings.status , meetings.recurring_source , meetings.name , meetings.parent_id , meetings.parent_type , meetings.date_start , meetings.assigned_user_id [from] => FROM meetings [from_min] => FROM meetings [where] => where ((meetings.status IN ('Planned') )) AND meetings.deleted=0 [order_by] => ORDER BY meetings.date_entered DESC [inner_join] => LEFT JOIN meetings_users m_u on m_u.meeting_id = meetings.id ) Array ( [select] => SELECT sugarfeed.id , sugarfeed.name , sugarfeed.description , sugarfeed.date_entered , sugarfeed.created_by , sugarfeed.related_module , sugarfeed.link_url , sugarfeed.link_type , sugarfeed.assigned_user_id [from] => FROM sugarfeed [from_min] => FROM sugarfeed [where] => where ( sugarfeed.related_module in ('UserFeed','Cases','Contacts','Leads','Opportunities')) AND sugarfeed.deleted=0 [order_by] => ORDER BY sugarfeed.date_entered DESC [inner_join] => ) Array ( [select] => SELECT contacts.id , LTRIM(RTRIM(ISNULL(contacts.first_name,'')+' '+ISNULL(contacts.last_name,''))) as name, contacts.first_name , contacts.last_name , contacts.salutation , contacts.title , contacts.phone_work , contacts.date_entered , LTRIM(RTRIM(ISNULL(jt0.first_name,'')+' '+ISNULL(jt0.last_name,''))) assigned_user_name , jt0.created_by assigned_user_name_owner , 'Users' assigned_user_name_mod, contacts.assigned_user_id [from] => FROM contacts LEFT JOIN contacts_cstm ON contacts.id = contacts_cstm.id_c LEFT JOIN users jt0 ON contacts.assigned_user_id=jt0.id AND jt0.deleted=0 AND jt0.deleted=0 [from_min] => FROM contacts [where] => where ((contacts.assigned_user_id = '1')) AND contacts.deleted=0 [order_by] => ORDER BY contacts.date_entered DESC [inner_join] => ) Array ( [select] => SELECT accounts.id , accounts.name , accounts.website , accounts.phone_office , accounts.billing_address_country , accounts.assigned_user_id [from] => FROM accounts LEFT JOIN accounts_cstm ON accounts.id = accounts_cstm.id_c [from_min] => FROM accounts [where] => where ((accounts.assigned_user_id = '1')) AND accounts.deleted=0 [order_by] => ORDER BY accounts.date_entered DESC [inner_join] => )
    Tralasciando i campi che non ci interessano, e concentrandosi sulla struttura, non riesco a capire che tipo di array è per poter per esempio modificare solo una delle query contenute in esso.

    Il codice che ho postato è il risultato del seguente comando:

    Codice PHP:
    print_r($ret_array); 
    Spero possiate aiutarmi!!!

    Grazie

  2. #2
    che vuol dire che non riesci a capire che tipo di array sia?
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Originariamente inviato da Santino83_02
    che vuol dire che non riesci a capire che tipo di array sia?
    non capisco come manipolarlo.

    Per esempio se faccio:

    Codice PHP:
    echo $ret_array['result'
    mi ritorna tutte le righe 'result'.

    Ma se io volessi solo la prima, come faccio?

    Avevo pensato a:

    Codice PHP:
    echo $ret_array[0]['result'
    ma non funziona!

  4. #4
    codice:
    echo $ret_array['result'][0];
    ?
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    Originariamente inviato da Santino83_02
    codice:
    echo $ret_array['result'][0];
    ?

    Nemmeno, perchè mi stampa tutte le lettere alla posizione 0, cioè:

    codice:
    SSSSS
    Che sarebbero le S delle 5 select

  6. #6
    scusa non è 'result' ma:

    Codice PHP:
    echo $ret_array['select'][] 

  7. #7
    codice:
    var_dump($ret_array['result']);
    che torna?
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  8. #8
    codice:
    string(163) " SELECT DISTINCT calls.id , calls.status , calls.recurring_source , calls.name , calls.parent_id , calls.parent_type , calls.date_start , calls.assigned_user_id " string(187) " SELECT DISTINCT meetings.id , meetings.status , meetings.recurring_source , meetings.name , meetings.parent_id , meetings.parent_type , meetings.date_start , meetings.assigned_user_id " string(210) " SELECT sugarfeed.id , sugarfeed.name , sugarfeed.description , sugarfeed.date_entered , sugarfeed.created_by , sugarfeed.related_module , sugarfeed.link_url , sugarfeed.link_type , sugarfeed.assigned_user_id " string(432) " SELECT contacts.id , LTRIM(RTRIM(ISNULL(contacts.first_name,'')+' '+ISNULL(contacts.last_name,''))) as name, contacts.first_name , contacts.last_name , contacts.salutation , contacts.title , contacts.phone_work , contacts.date_entered , LTRIM(RTRIM(ISNULL(jt0.first_name,'')+' '+ISNULL(jt0.last_name,''))) assigned_user_name , jt0.created_by assigned_user_name_owner , 'Users' assigned_user_name_mod, contacts.assigned_user_id " string(144) " SELECT accounts.id , accounts.name , accounts.website , accounts.phone_office , accounts.billing_address_country , accounts.assigned_user_id "
    ecco qui..

  9. #9
    riprendendo il tuo primo messaggio e sistemando l'output, $ret_array è un array di array, ogni array ha una chiave "select"... quindi cicla su $ret_array e prenditi il valore della chiave select... la prima in assoluto è per forza $ret_array[0]['select'], se così non fosse vuol dire che stai sbagliando il punto in cui modificare il codice...
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  10. #10
    Originariamente inviato da Santino83_02
    riprendendo il tuo primo messaggio e sistemando l'output, $ret_array è un array di array, ogni array ha una chiave "select"... quindi cicla su $ret_array e prenditi il valore della chiave select... la prima in assoluto è per forza $ret_array[0]['select'], se così non fosse vuol dire che stai sbagliando il punto in cui modificare il codice...
    anche secondo me è per forza $ret_array[0]['select'], però non stampa nulla!

    se faccio:

    Codice PHP:
    echo count($ret_array['select']); 
    il risultato è: 11111

    se invece faccio:

    Codice PHP:
    echo count($ret_array); 
    il risultato è: 66666

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.