Strumenti Utente

Strumenti Sito


sviluppo:readerid

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
sviluppo:readerid [2013/01/17 17:30] a.muccisviluppo:readerid [2018/03/19 10:45] (versione attuale) – modifica esterna 127.0.0.1
Linea 28: Linea 28:
 \\ \\
  
-  *  2) Nel programma, al momento della creazione della griglia, dovremo aggiungere all'array della griglia il 'rowIndex'=>'Key',(Sempre utilizzando la stessa Key definita nel Model) per specificare quale sarà l'indice che dovrà utilizzare:+  *  2) Nel programma, al momento della creazione della griglia, dovremo aggiungere all'array  il 'rowIndex'=>'Key',(Sempre utilizzando la stessa Key definita nel Model) per specificare quale sarà l'indice che dovrà utilizzare:
 <code> <code>
                        $sql=$this->CreaSql();                        $sql=$this->CreaSql();
Linea 74: Linea 74:
 \\ \\
 In questa funzioene viene passato l'array con il risultato della Querry: "SELECT * FROM DIPENDENT" e assegna ad ogni campo Telefono o Cellulare del record uno sfondo Rosso o Verde.\\ In questa funzioene viene passato l'array con il risultato della Querry: "SELECT * FROM DIPENDENT" e assegna ad ogni campo Telefono o Cellulare del record uno sfondo Rosso o Verde.\\
-Alla fine possiamo notare il return di $Risult_tab in quanto ci servirà nella creazione della griglia.+
  
   * 2) Al momento della creazione della tabella, richiamiamo la funzione appena creata:   * 2) Al momento della creazione della tabella, richiamiamo la funzione appena creata:
Linea 93: Linea 93:
                         $Result_tab = $this->elaboraRecords($Result_tab);                         $Result_tab = $this->elaboraRecords($Result_tab);
                         $ita_grid01->getDataPageFromArray('json', $Result_tab)                         $ita_grid01->getDataPageFromArray('json', $Result_tab)
 +                        
 </code> </code>
-Come possiamo notare la griglia viene creata utilizzando l'Array Rielaborato: $ita_grid01->getDataPageFromArray('json', $Result_tab).+\\ 
 +E come possiamo notare la griglia viene creata utilizzando l'Array Rielaborato: $ita_grid01->getDataPageFromArray('json', $Result_tab). 
 +\\ 
 +\\
 \\ \\
 ----- -----
 +\\
 +\\
 \\ \\
 Nel caso in cui la SELECT preveda una JOIN con più tabelle e non si ha la possibilità di selezionare un determinato indice da una TABELLA sarà necessario ricorre ad un Funzione Elabora Record e alla creazione di un ReaderId composto da più Campi.\\ Nel caso in cui la SELECT preveda una JOIN con più tabelle e non si ha la possibilità di selezionare un determinato indice da una TABELLA sarà necessario ricorre ad un Funzione Elabora Record e alla creazione di un ReaderId composto da più Campi.\\
-Questa funzione è necessaria sopratutto con la JOIN di più tabelle, perchè non sempre è possibile selezionare un solo campo:\\+Questa funzione è necessaria sopratutto con una JOIN di più tabelle, perchè non sempre è possibile selezionare un solo campo:\\
 \\ \\
 Immaginiamo di avere 2 tabelle: ANAGRAFICA_SOGGETTO e ANAGRAFICA_IMMOBILE e che entrambe racchiudono tanti campi anagrafici importanti,troppi per essere selezionati uno ad uno. La soluzione più semplice sarebbe:\\ Immaginiamo di avere 2 tabelle: ANAGRAFICA_SOGGETTO e ANAGRAFICA_IMMOBILE e che entrambe racchiudono tanti campi anagrafici importanti,troppi per essere selezionati uno ad uno. La soluzione più semplice sarebbe:\\
                SELECT * FROM ANAGRAFICA_SOGGETTO JOIN ANAGRAFICA_IMMOBILE ON ANAGRAFICA_SOGGETTO.CODICE = ANAGRAFICA_IMMOBILE.CODICESOGGETTO                SELECT * FROM ANAGRAFICA_SOGGETTO JOIN ANAGRAFICA_IMMOBILE ON ANAGRAFICA_SOGGETTO.CODICE = ANAGRAFICA_IMMOBILE.CODICESOGGETTO
  
-Il risultato della tabella avrebbe quindi in comune anche gli indici delle 2 tabelle.\\ +Come detto in precedenza la griglia prende automaticamente l'indice della tabella se si prendono tutti i campi presenti o comunque si seleziona anch'esso, ma nel caso di una JOIN (in cui si prendono tutti i campi da entrambe) l'indice della griglia viene assegnato automaticamente in ordine crescente, perchè nessuno dei 2 indici ha la priorità sull'altro.\\ 
-Come detto in precedenza la griglia prende automaticamente l'indice della tabella se si prendono tutti i campi presenti o comunque si seleziona anch'esso, ma nel caso di una JOIN come questa(in cui si prendono tutti i campi da entrambe) l'indice della griglia verrebbe assegnato automaticamente in ordine crescente, perchè nessuno dei 2 indici ha la priorità sull'altro.\\+Per risolvere questo conflitto di Indici, possiamo pertanto ricorrere alla creazione di un ReaderId Composto:
 Dovremo ,quindi, nell'applicazione, al momento della creazione della grid, rielaborare il risultato della querry e passare alla tabella un Array. Dovremo ,quindi, nell'applicazione, al momento della creazione della grid, rielaborare il risultato della querry e passare alla tabella un Array.
 \\ \\
-Esempio Guidato:\\+\\ 
 +**Esempio Guidato:**\\ 
 +\\
 In una tabella abbiamo: In una tabella abbiamo:
 TABELLA: OPERAI JOIN PRODUZIONI TABELLA: OPERAI JOIN PRODUZIONI
Linea 130: Linea 138:
 | 004  |  Verdi  | Rosa  | | 004  |  Verdi  | Rosa  |
 \\ \\
-Vogliamo che all'evento dbClickRow  vengano elencati tutti i prodotti creati di quel operaio a quella data, portandoci dietro la data e codice del dipendente. +Vogliamo che all'evento dbClickRow  vengano elencati tutti i prodotti creati da quel operaio a quella data, impostando come readerId un indice composto dalla data e codice del dipendente.\\ 
 +\\ 
 +Procedimento:\\  
 +\\
 Dopo aver aggiunto nella gird del model il **ReaderId**  e nell'applicazione il **'rowIndex' => 'Key'** (come sopra descritto), nel programma dovremo anche provvedere alla Rielaborazione del risultato della Querry.\\ Dopo aver aggiunto nella gird del model il **ReaderId**  e nell'applicazione il **'rowIndex' => 'Key'** (come sopra descritto), nel programma dovremo anche provvedere alla Rielaborazione del risultato della Querry.\\
-Questa rielaborazione può essere fatta sempre attraverso la funzione **ElaboraRecords**.\\+Questa rielaborazione può essere fatta sempre attraverso la funzione **ElaboraRecords** :\\
 <code> <code>
   function elaboraRecords($Result_tab) {   function elaboraRecords($Result_tab) {
Linea 146: Linea 156:
  
 \\ \\
-In questa funzione provvederemo a rielaborare il nostro nuovo Rowid: 'Key' componendolo di "CODICEDIPENDENTE" - "DATA", in modo che al dbClickRow come rowid ci torni un indice come questo: "001-20130122".\\+Come possiamo notare il nostro Indice 'Key' viene composto da "CODICEDIPENDENTE" - "DATA", in modo che al dbClickRow il rowid ci torni così: "001-20130122".\\
 \\ \\
-Dopo di che, per poter utilizzare questo **Indice Composto**, all'evento dbClickRow potremo utilizzare la funzione: explode:\\ +Dopo di che, per poter utilizzare questo **Indice Composto**, all'evento dbClickRow possiamo utilizzare la funzione: explode:\\
-L'explode ci restituirà quindi un array con le 2 chiavi che ci servono, dopo di che possiamo assegnare a 2 variabili il Codice e la Data:+
  
 <code> <code>
Linea 171: Linea 180:
                 break;                 break;
 </code> </code>
 +L'explode ci restituirà quindi un array con le 2 chiavi che ci servono e come nell'esempio potremo utilizzarle nella SELECT per estrarre solo ciò che ci serve.
  
-   
sviluppo/readerid.1358443857.txt.gz · Ultima modifica: 2018/03/19 10:45 (modifica esterna)