Pagina 20 di 37 primaprima ... 10 18 19 20 21 22 30 ... ultimoultimo
Visualizzazione dei risultati da 191 a 200 su 366
  1. #191
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    90
    Certamente che rimango i crediti e commenti dove stanno.

    Ma, comunque non riesco a farlo funzionare.

    questo è lo script di prova completo

    primo file

    <script type='text/javascript' src='Object.LoadVars.javascript'></script>
    <script type='text/javascript'>
    var s_width ='';
    var s_height ='';
    s_width=screen.width
    s_height=screen.height
    var lv = new LoadVars();
    lv.load('pagina.php?width=' + screen.width + '&height=' + screen.height);
    </SCRIPT>

    secondo file php

    <?php
    if(isset($_GET['screen.width'], $_GET['screen.height'])) {
    echo {($_GET['screen.width']};
    }
    ?>

    non succede niente, il valore non mi viene restituito nell'echo

    Gerardo

  2. #192
    AJAX è un'interazione ASINCRONA ... che significa ?

    significa che i dati vengono letti e prima ancora inviati in modo trasparente mentre navighi pagina uno ... non te li ritrovi a pagina 2 ... oltre a questo tu invii le variabli GET width ed height mentre in PHP tenti di leggere screen.width e screen.heigth ...



    <?php
    if(isset($_GET['width'], $_GET['height'])) {
    $fp = fopen('dimensione.txt', 'w');
    fwrite($fp, "Width: {$_GET['width']}\r\nHeight: {$_GET['height']}");
    fclose($fp);
    }
    ?>



    e vedi come ti ritrovi il file se apri la pagina tramite quella che contiene


    var lv = new LoadVars();
    lv.load('pagina.php?width=' + screen.width + '&height=' + screen.height);



    P.S. leggi qua se hai ancora dubbi: http://forum.html.it/forum/showthrea...hreadid=869117
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #193
    alla fine ho deciso di fare qualche test anche io

    facendo dei test simili a quelli di andrea, utilizzando la solita classe per JSON, i risultati sono questi, sul mio computer desktop (Athlon 1400 Mhz):

    codifica da PHP a JSON, media: 0,20
    codifica da JSON per JS... circa 0

    mentre i bench di andrea mi danno
    serializzazione in PHP: circa 0,02
    deserializzazione in JS: 0,37

    ho volutamente omesso la codifica in JSON per javascript e la serializzazione da javascript, perché non ne vedo l'utilità, visto che per quel che mi serve mi basta passare i dati via POST e GET alla solita maniera... se mi fare un esempio in cui possa servire... ve ne sarei grati.

    Ma i miei test non si sono fermati qui. Ho provato il mio benchmark pure su un server remoto, in un sito hostato su tophost... quindi su un server stracondiviso... risultato: i tempi di serializzazione in JSON vanno da 0,09 a 0,12 secondi...
    Ho anche provato il benchmark di andrea su un computer meno potente, il portatile, con un celeron da 500 Mhz... tempo di deserializzazione: 1 secondo...

    I risultati di questi test non rilevano nulla di nuovo, se non quello che già avevo detto: far lavorare il server richiede meno tempo, se viene fatta una sola richiesta in un dato istante (ci impiega circa la metà del tempo)... inoltre se prendiamo un client poco potente il tempo di elaborazione sale assai.
    Questi test in ogni caso mi avevano ancora lasciato in dubbio, su cosa fosse meglio utilizzare... ma adesso viene la parte interessante

    ho pensato che magari la classe è lenta di suo perché fatta in modo strano... lavora con le stringhe multibyte, e non ho ben capito come funziona.
    Nello stesso tempo, mi sono anche detto: è lenta a processare tanti dati... ma con AJAX quand'è che dovrò processare tanti dati? solo quando prendo i risultati dai dati di una tabella di un database...
    e ancora: se devo ordinare una tabella con javascript, come caspita faccio? la funzione sort è molto limitata! qual è il modo migliore per rappresentare una tabella di un database con javascript per poterla manipolare agilmente?

    rispondendo all'ultima domanda mi è venuta l'"ispirazione"

    vi faccio l'esempio basandomi su un db che sto usando per il test. in pratica è un elenco di canzoni, e la tabella contiene questi campi:
    codice:
    +----+--------+--------+--------+
    | id | autore | titolo | durata |
    +----+--------+--------+--------+
    |    |        |        |        |
    il modo migliore per gestire una tabella del genere con javascript è quello di creare un'array che contiene un oggetto per ogni riga del database.

    ad esempio:
    codice:
    var riga[0] = {'id': 0, 'autore': 'Vasco Rossi', 'titolo': 'Sally', 'durata': '4:51'};
    a questo punto mi sono detto: ma avendo una struttura del genere, fissa, è necessario codificare i dati in JSON utilizzando una classe generica?
    Allora ho creato uno script PHP che per tutte le righe di una tabella scrive in formato JSON i valori che contiene in tutti i campi.

    Ho fatto un test su quel database (349 record con 4 colonne), e il tempo di codifica varia, sul mio computer, da 0,022 a 0,040 secondi... quindi pochissimo.

    Mi rendo conto che il risultato è limitato a pochi utilizzi... però per ora non mi è servito niente altro per realizzare le mie applicazioni in AJAX...

  4. #194
    Originariamente inviato da Fredx
    Allora ho creato uno script PHP che per tutte le righe di una tabella scrive in formato JSON i valori che contiene in tutti i campi.
    la tecnica più semplice è quella di creare un array e di metterci tutti i risultati del database per poi solo alla fine serializzare il tutto al fine di dare in pasto a javascript direttamente tutto l' oggetto array con i vari sotto oggetti per ogni chiave.

    Qui JSON contro serialize perde, come hai potuto vedere, e perde tanto.

    Tutte le tue considerazioni sono giuste ... quand'e' che prendero' tanti dati ? quand'e' che sfruttero' veramente questi tempi inferiori lato server ?

    La risposta è semplice, sempre ... poiche' il tuo PC 500 Mhz ha dovuto parsare tanti dati ma non ti servono, quindi per mole di dati inferiori è preferibile sempre e comunque risparmiare risorse sul server e non sul client, che potrebbe comunque parsare senza problemi.

    I tempi ... stiamo sui 0.2 ... ok ? e che sara' mai 0.2 ?

    0.2 sara' un tempo sempre troppo elevato per una sola operazione, in 0.2 ci si dovrebbe generare un portale, non un solo e singolo scambio dati, è un tempo eccessivo, che su un sito con 10 utenti simultanei o 10 richieste simultanee diventerebbe 2 secondi ... un carico eccessivo per il server, imho.

    Cmq è bello poter scegliere, io l'ho gia' fatto da tempo, ottimizzazione sul server, carico sul client, senza compromessi

    Per quanto riguarda lo scambio da JS a php ... semplice, se a te serve poter inviare da PHP a JS un oggetto, perche' non poter fare altrettanto da JS a php ?

    tu appendi le richieste in GET o POST ... beh, potresti appendere piu' variabili complesse sempre in get o in post, non è detto che una stringa o un numero bastino per operazioni piu' complesse
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  5. #195
    Come già precisato Json è sicuramente interessante come idea, il problema è che PHP deve prelevare i dati dal db, trasformarli in Javascript inviarli all'output.

    E tutto attraverso PHP stesso, non attraverso un'estensione o una funzione del core (come è serialize).
    In più l'output è decisamente più prolisso...

    Considera poi che molte API per i database permettono la restituzione diretta dell'intero recordset in un array, al quale diventa facile applicare serialize

    L'uso della deserializzaizone javascript non mi obbliga ad usare la serializzazione javascript, posso comunque inviare i dati semplici in GET e POST se lo desidero, per questa ragione avevo separato le funzionalità i due classi diverse.
    per favore NIENTE PVT TECNICI da sconosciuti

  6. #196
    Originariamente inviato da Fabio Heller
    Considera poi che molte API per i database permettono la restituzione diretta dell'intero recordset in un array, al quale diventa facile applicare serialize
    Per MySQL non c'è, vero?
    Mi servirebbe proprio una cosa del genere.

  7. #197
    non so se mi sono spiegato bene
    ho creato uno script che con un foreach scrive in formato JSON un array contenente tutti i dati della tabella.
    ad esempio:

    [{'id': 0, 'nick': 'Fredx'}, {'id': 1, 'nick': 'andr3a'}]

    che viene codificato in JSON, senza usare la classe PEAR, in 0,02 secondi (su una tabella di 350 record e 4 campi)... e viene "deserializzato" da javascript istantaeamente... con un tempo quindi irrisorio per tutta l'operazione.

    l'array fatto in quel modo è anche riordinabile con javascript in modo semplice... basta usare una funzione personalizzata... ad esempio per riordinare secondo l'id basterebbe fare:
    codice:
    function orderBy(a, b) {
     var A = a.id;
     var B = b.id;
     return A-B;
    }
    
    risultato.sort(orderBy);
    scrivendo un po' più di codice si può fare una funzione che riordini qualsiasi campo, sia che siano stringhe, sia che siano numeri, sia che siano date...

  8. #198
    Originariamente inviato da skidx

    Per MySQL non c'è, vero?
    Mi servirebbe proprio una cosa del genere.
    Lo hanno aggiunto solo nella mysqli
    per favore NIENTE PVT TECNICI da sconosciuti

  9. #199
    Originariamente inviato da Fredx
    che viene codificato in JSON, senza usare la classe PEAR, in 0,02 secondi (su una tabella di 350 record e 4 campi)... e viene "deserializzato" da javascript istantaeamente... con un tempo quindi irrisorio per tutta l'operazione.
    0,02 oppure 0,2?

    Perchè nel primo caso sarebbe veloce quanto la serialize e mi pare strano.

    Comunque avevo capito cosa hai fatto ed è sicuramente utile, tra l'altro è proprio uno dei sistemi descritti in uno degli articoli che ho citato quando ho aprto il thread (sono che non lo chiamavano json).
    Però quando è possibile preferisco spostare il lavoro sul lato-client.

    Per quanto riguarda l'ordinamento, una volta che i dati sono tradotti in javascript, lo puoi fare anche con il sistema della deserializzazione
    per favore NIENTE PVT TECNICI da sconosciuti

  10. #200
    Originariamente inviato da Fabio Heller
    0,02 oppure 0,2?
    0,02... è proprio questo che mi ha stupito

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 © 2026 vBulletin Solutions, Inc. All rights reserved.