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

Discussione: Limite creazione json

  1. #1

    Limite creazione json

    Salve ragazzi, ho fatto uno script che funziona perfettamente, l'unica cosa che non capisco, è perchè ha un limite, mi spiego meglio, ho dovuto impostare la query a limite di 10000 , altrimenti mi da un errore di parsen.
    Lo script è questo, se mi potete aiutare a capire come poter sbloccare il limite, intanto vi ringrazio in anticipo

    Codice PHP:
    header("Content-Type: application/json; charset=UTF-8");
    $obj json_decode($_GET["x"], false);

    $conn = new mysqli("localhost""root""""test);
    $conn->set_charset("utf8");
    $stmt = $conn->prepare("SELECT `dataOrdine`, nOrdine, `ImportoOrdine`, `importoWeb`, `documentoWeb`, `dataWeb`, `daRendere`,   `piattaforma`, `tipoPagamento`, dataRimborsoimportoRimborsoeshopriferimento,ndocWebcorriere  FROM report_crediti WHERE (stato='Spedito' OR stato='Completato' OR stato='Ritirato'ORDER BY dataOrdine DESC LIMIT 100000");
    $stmt->bind_param("ssssss",$obj->table);
    $stmt->execute();
    $result = $stmt->get_result();
    $outp = $result->fetch_all(MYSQLI_ASSOC);

    echo json_encode(
    $outp);
    //echo json_encode(
    $user);
    $json_data = json_encode($outp);
    file_put_contents('../app-assets/data/ordini_def.json', 
    $json_data); 

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Cosa vuol dire "errore di parsen"?
    Riporta l'errore così come ti viene indicato, fa copia/incolla di tutto quello che dice.

  3. #3
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Cosa vuol dire "errore di parsen"?
    Riporta l'errore così come ti viene indicato, fa copia/incolla di tutto quello che dice.
    Prima di tutto grazie per avermi risposto.

    Allora ho modificato la query aggiungendo uno zero in più 1000000", e l'errore è questo :

    Codice PHP:
    SyntaxErrorJSON.parseunexpected end of data at line 2 column 1 of the JSON data 
    Non riesco a capire perchè, se tolgo lo zero in più, funziona tutto

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    JSON.parse suppongo sia Javascript, stampa nella console il dato che recuperi prima di farne il parse, vedi che cosa c'è di sbagliato nella stringa.
    Potrebbe essere che la query ritorni un errore e che ci sia quello scritto invece di una stringa JSON.
    Ultima modifica di Alhazred; 01-09-2020 a 20:29

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    189
    Tradotto:
    Codice PHP:
    error_reporting(-1);
    header("Content-Type: application/json; charset=UTF-8");
    $obj json_decode($_GET["x"], false);

    $conn = new mysqli("localhost""root""""test);
    $conn->set_charset("utf8");
    if((
    $result = $conn->query("SELECT dataOrdinenOrdineImportoOrdineimportoWebdocumentoWebdataWebdaRenderepiattaformatipoPagamentodataRimborsoimportoRimborsoeshopriferimentondocWebcorriere
    FROM report_crediti WHERE 
    (stato='Spedito' OR stato='Completato' OR stato='Ritirato'ORDER BY dataOrdine DESC LIMIT 100000")) !== false) {
    if(is_array((
    $outp = $result->fetch_all(MYSQLI_ASSOC)))) {


    $json_data = json_encode($outp);
    file_put_contents('../app-assets/data/ordini_def.json', 
    $json_data);
    } else {
    echo 'not array';
    }
    } else {
    printf("
    Error message: %s\n", $conn->error);

    Io proverei in questo modo.
    Penso sia un limite di memoria php se preleva più dati ovviamente con un numero intero più grande nel limit.
    Ultima modifica di darbula; 01-09-2020 a 20:59

  6. #6
    Niente da fare, da sempre questo errore:

    Codice PHP:
    SyntaxErrorJSON.parseunexpected end of data at line 2 column 3 of the JSON data 
    Provo ad aumentare i parametri di php

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    189
    Questo è un errore del cliente a te occorre l'errore del server, per favore usa il codice proposto senza apportare alcuna modifica.
    Ops la pagina è un risposta json, modificala in text/plain
    Ultima modifica di darbula; 01-09-2020 a 21:28

  8. #8
    Quote Originariamente inviata da darbula Visualizza il messaggio
    Questo è un errore del cliente a te occorre l'errore del server, per favore usa il codice proposto senza apportare alcuna modifica.
    Fatto, ho copiato il tuo script pari pari , a video o solo quell'errore, se vado nella console nessun errore.

    la pagine è questa :
    https://speedspedizioni.com/generatorejson_ordini.php

    Ultima versione di php

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    189
    Post editato per favore cambia la risposta in text/plain dopodiché bisogna capire perché non è un json conforme ma soprattutto utilizza la modalità incognito di Chrome per evitare problemi di cache.
    Ultima modifica di darbula; 01-09-2020 a 21:37

  10. #10
    Cambiando come mi hai detto, esce solo la pagina bianca completamente bianca, visto anche la console, tutto nessun errore.

    Però usando mio script in questo momento ho notato questa cosa :

    codice:
    $stmt = $conn->prepare("SELECT `dataOrdine`, nOrdine, `ImportoOrdine`, `importoWeb`, `documentoWeb`, `dataWeb`, `daRendere`,   `piattaforma`, `tipoPagamento`, dataRimborso, importoRimborso, eshop, riferimento,ndocWeb, corriere  FROM report_crediti WHERE (stato='Spedito' OR stato='Completato' OR stato='Ritirato') ORDER BY dataOrdine DESC LIMIT 200000");
    $stmt->bind_param("ssssssss",$obj->table);
    Aumentando le sss aumento di un numero , dalla documentazione avevo capito che le s erano i vari parametri, tipo le select, order, desc . boh
    Ultima modifica di Werwolfe; 01-09-2020 a 21:55

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.