PHP, Array Multidimensionale e Grafici

macus_adi

Utente Attivo
5 Dic 2017
1.343
91
48
IT/SW
Utilizzo semplicissimo del filtro js "Number.isFinite"
Codice:
function createSeries(data,object){
    let ret=[];
    data.forEach(function(element){
        ret.push({data:[...new Set(createData(object,{f1:element,f2:'Difetto',return:'Qta'}))].filter(Number.isFinite)});
    })
    return ret;
}

Questa è la risposta dal tuo json, e come puoi vedere lo "0" viene stampato!
  1. {x: Array(2), x1: Array(5), y: Array(0), series: Array(5)}
    1. series: Array(5)
      1. 0:
        1. data: Array(2)
          1. 0: 0
          2. 1: 1
          3. length: 2
          4. __proto__: Array(0)
        2. __proto__: Object
      2. 1:
        1. data: Array(2)
          1. 0: 3
          2. 1: 0
          3. length: 2
          4. __proto__: Array(0)
        2. __proto__: Object
      3. 2:
        1. data: Array(2)
          1. 0: 0
          2. 1: 2
          3. length: 2
          4. __proto__: Array(0)
        2. __proto__: Object
      4. 3:
        1. data: Array(2)
          1. 0: 2
          2. 1: 0
          3. length: 2
          4. __proto__: Array(0)
        2. __proto__: Object
      5. 4:
        1. data: Array(1)
          1. 0: 0
          2. length: 1
          3. __proto__: Array(0)
        2. __proto__: Object
      6. length: 5
      7. __proto__: Array(0)
    2. x: Array(2)
      1. 0: "November"
      2. 1: "December"
      3. length: 2
      4. __proto__: Array(0)
    3. x1: Array(5)
      1. 0: "Deformato"
      2. 1: "Impasto Sporco"
      3. 2: "Macchie Ferro"
      4. 3: "Mal Smaltati"
      5. 4: "Nessun Difetto"
      6. length: 5
      7. __proto__: Array(0)
    4. y: []
    5. __proto__: Object



let object=JSON.parse(JSON.stringify(response.aoData));
Perchè fai questa cosa? Non ha senso....
La risposta da ajax non deve arrivare text ma application/json... quindi basterebbe utilizzare solo il JSON.parse....

Magari potresti anche prevedere l'utilizzo di axios per le richieste in questo modo non dovrai fare nessuna operazione sulla risposta:

Codice:
axios.get('/my_file').then(function(response){
    let object=response.data.aoData
});
Più pulito...
 

max1974

Utente Attivo
7 Mar 2013
107
0
16
Utilizzo semplicissimo del filtro js "Number.isFinite"
Codice:
function createSeries(data,object){
    let ret=[];
    data.forEach(function(element){
        ret.push({data:[...new Set(createData(object,{f1:element,f2:'Difetto',return:'Qta'}))].filter(Number.isFinite)});
    })
    return ret;
}

Questa è la risposta dal tuo json, e come puoi vedere lo "0" viene stampato!
  1. {x: Array(2), x1: Array(5), y: Array(0), series: Array(5)}
    1. series: Array(5)
      1. 0:
        1. data: Array(2)
          1. 0: 0
          2. 1: 1
          3. length: 2
          4. __proto__: Array(0)
        2. __proto__: Object
      2. 1:
        1. data: Array(2)
          1. 0: 3
          2. 1: 0
          3. length: 2
          4. __proto__: Array(0)
        2. __proto__: Object
      3. 2:
        1. data: Array(2)
          1. 0: 0
          2. 1: 2
          3. length: 2
          4. __proto__: Array(0)
        2. __proto__: Object
      4. 3:
        1. data: Array(2)
          1. 0: 2
          2. 1: 0
          3. length: 2
          4. __proto__: Array(0)
        2. __proto__: Object
      5. 4:
        1. data: Array(1)
          1. 0: 0
          2. length: 1
          3. __proto__: Array(0)
        2. __proto__: Object
      6. length: 5
      7. __proto__: Array(0)
    2. x: Array(2)
      1. 0: "November"
      2. 1: "December"
      3. length: 2
      4. __proto__: Array(0)
    3. x1: Array(5)
      1. 0: "Deformato"
      2. 1: "Impasto Sporco"
      3. 2: "Macchie Ferro"
      4. 3: "Mal Smaltati"
      5. 4: "Nessun Difetto"
      6. length: 5
      7. __proto__: Array(0)
    4. y: []
    5. __proto__: Object




Perchè fai questa cosa? Non ha senso....
La risposta da ajax non deve arrivare text ma application/json... quindi basterebbe utilizzare solo il JSON.parse....

Magari potresti anche prevedere l'utilizzo di axios per le richieste in questo modo non dovrai fare nessuna operazione sulla risposta:

Codice:
axios.get('/my_file').then(function(response){
    let object=response.data.aoData
});
Più pulito...
controlla nella tua risposta al punto 5.4. trovi length: 1 perche array contiene due zeri ed in realta ne riporta solo 1

per quello che riguarda la risposta del $.ajax la ottengo cosi
Codice:
$.ajax({
      url:'myfile.php',
      data: {Tipo_Sel:"GRAPH-DIFETTI"},
      type: 'POST',
      dataType: 'json',
      success: function(response){
dovre gia essere formato json o sbaglio ???
 

macus_adi

Utente Attivo
5 Dic 2017
1.343
91
48
IT/SW
controlla nella tua risposta al punto 5.4. trovi length: 1 perche array contiene due zeri ed in realta ne riporta solo 1

cosa fa "...new Set" in JS? Crea un array di elementi unico..... quindi basta modificare 1 punto in base alle tue necessità, che sicuramente non sono queste, studiando un pò la situazione in modo più approfondito ti accorgerai che sarebbe meglio utilizzare:
  • Lato server
    • Controllore
    • Http Response
  • Lato Client
    • Una collection dati
    • Un mutuatore dati
Visto che non hai impostato questo, credo che debba fare a mano quello che ti serve....

dovre gia essere formato json o sbaglio ???
Sbagli, tu stai inviando i dati tipo JSON, la risposta la fa il server no lo script js lato client.


Per lavorare in js, non basta saper leggere e scrivere (in programmazione).
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
C [PHP] Chiedo un aiuto, Array multidimensionale. PHP 3
F [PHP] Problema con array multidimensionale PHP 4
A [PHP] Ciclare array multidimensionale e inserire valori in DB PHP 2
C [PHP] rimuovere righe duplicate in un array multidimensionale PHP 1
C [PHP] eliminare elemento da un array multidimensionale PHP 9
P [PHP] ordinare un array multidimensionale in modo personalizzato PHP 2
C [PHP] RISOLTO - Eliminare elementi duplicati da array multidimensionale PHP 1
V [PHP] stampa a video valori query array multidimensionale PHP 4
Monital [PHP] Array multidimensionale PHP 17
M Passaggio variabili array php su un tasto jq PHP 3
N Passare array da php a javascript PHP 5
M Array associativi php su 2 campi mysql PHP 10
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
D Chiave unica in estrazione dati da array php PHP 0
D Spazio vuoto in un elemento di un array php PHP 2
S [PHP] Confrontare due array con valori quasi uguali PHP 2
MarcoGrazia [PHP] Unioni di due array con somma di valori PHP 6
R [PHP] Visualizzazione dati Array PHP 2
S [PHP] Eliminare doppioni array e rinumerare le posizioni PHP 2
M [PHP] Problemi su inserimento array nel db PHP 7
M [PHP] Visualizzare un array partendo dal numero 1 e non 0 PHP 5
S [PHP] Estrarre elementi array su più variabili PHP 5
S [PHP] Estrarre dati tabella in diversi array PHP 2
max1974 [PHP] Raggruppare array PHP 4
A [PHP] Caricamento database in array PHP 11
G sql select con array in php PHP 1
S [PHP] individuare chiave elemento array PHP 7
A [PHP] Script con array con numeri che iniziano per 00 PHP 2
S [PHP] selezionare colonna tabella utilizzando un array PHP 1
M [PHP] Array di array - PDO PHP 2
K [PHP] array PHP 0
S [PHP] Ciclo foreach su più array PHP 2
N [PHP] Estrarre singolo valore da array PHP 4
L come visualizzare array di oggetti php PHP 9
N [PHP] filtrare input form di tipo array PHP 0
D [PHP] Unire 2 Array con ID in comune PHP 0
S elementi statistici - Matrice e Gestione Array PHP o Javascript Javascript 0
T [PHP] Ciclare array multidimensionali PHP 2
alessandra86 [PHP] Popolamento database con form ricorsivi - problema array (foreach ) PHP 5
M [PHP] Inserire array nel db PHP 6
W [PHP] Leggere un array un po complicato PHP 3
alessandra86 [PHP] Elementi di un array non visualizzabili PHP 7
P [PHP] file di testo e array PHP 11
P [PHP] Problema inserimento nuove chiavi in array PHP 2
L [PHP] stampare un'array di un database PHP 0
R [PHP] Problema stampa array bidimensionali con formula $html.=<<<myHtml... PHP 2
daniele8808 Insert a converted php array in a js object PHP 4
K Script PHP per leggere array.txt Presentati al Forum 3
G [PHP] Merge array PHP 4
G [PHP] Consiglio su Qry/array PHP 3

Discussioni simili