Pagina 9 di 11 primaprima ... 7 8 9 10 11 ultimoultimo
Visualizzazione dei risultati da 81 a 90 su 103
  1. #81
    Utente di HTML.it L'avatar di JHammer
    Registrato dal
    Sep 2004
    Messaggi
    754
    1)Trattandosi l'XML di un file di testo la sua forma di memorizzazione nativa è già seriale per cui è un attimo entrare e uscire dal db.

    2) le strutture da trattare sono piccole (100kb di xml vengono parsati in un attimo anche in PHP ma ti immagini che pagina da paura ti viene fuori da 100kb? quindi nei casi pratici è molto meno)

    3) XML è già un albero...una volta eseguito il parsing i tempi di ricerca possono essere ELIMINATI (certamente sub-lineari).

    3) E' già tutto fatto! Editing dell'albero, ricerca di un elemento, visita, ecc...se manca qualcosa lo aggiungi sopra le lib esistenti.

    4) Passiamo il tempo a pensare ad altro che non a reinventarci alberi e liste

  2. #82
    [supersaibal]Originariamente inviato da andr3a
    perche' fai un inutile passaggio in piu' .... connetti al db, prendi i dati in modo ricorsivo, crei l' XML in modo ricorsivo, invii l' xml al php che aveva gia' i dati presi dal db, stampi output ...

    qui l' XML e' l'ultimo dei problemi ( e delle soluzioni )

    13manuel84
    se funziona a mano, funziona automatizzato, non scordartelo mai

    quindi prova questa e fai un po' di debug che DEVE funzionare, se a mano funziona ...

    $dbtree->addSubLevel( explode( ',', $argument ), $argumentToAdd, ':: descrizione ::' ); [/supersaibal]
    Ti ringrazio per l'enorme mano che mi stai dando!
    ma anche l'ultimo metodo non mi funziona!
    l'explode sull'array lo fa giusto, ma non capisco perché ancora l'inserimento non lo fa.
    codice:
    print "
    ".$argument."
    ";
    print $argumentToAdd."
    
    ";
    print "<pre>";
    var_dump(explode( ',', $argument));
    print "</pre>";
    
    $dbtree->addSubLevel( explode( ',', $argument ), $argumentToAdd, ':: descrizione ::' );
    il var dump mi restituisce un'array così:
    array(4) {
    [0]=>
    string(5) ""Uno""
    [1]=>
    string(6) " "Due""
    [2]=>
    string(6) " "Tre""
    [3]=>
    string(10) " "Quattro""
    }
    ma l'inserimento non funziona!

    per debug, più di stampare le singole variabili, la stringa, prendere quella stringa, metterla nel codice e verificare che nel codice funziona, non so più cosa fare.

    thx!
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  3. #83
    array(4) {
    [0]=>
    string(5) ""Uno""
    [1]=>
    string(6) " "Due""
    [2]=>
    string(6) " "Tre""
    [3]=>
    string(10) " "Quattro""
    }


    caxx ... e leva quelle doppie virgolette dalla stringa e concatena senza gli spazi

    $arguments = "Uno,Due,Tre,Quattro";
    questo e' un arguments buono per un explode( ',', $arguments );



    [supersaibal]Originariamente inviato da JHammer
    4) Passiamo il tempo a pensare ad altro che non a reinventarci alberi e liste [/supersaibal]
    senti JHammer , di tutto questo 3D penso tu non abbia letto niente ... si parla di ricorsivita' e di estrapolare dati in modo ricorsivo ... ecco, la classe che sta tentando di usare 13manuel84 utilizza un metodo che mi sono inventato io per fare una sola quaery a database, invece di usare il solito metodo delle qery su query che sono molto lente e su strutture grandi possono dare problemi sia per l' esponenzialita' delle query su tanti utenti ( ramo 7 = 7 query per ogni utente ... carico triplicato riepstto una sola query del mio metodo ) sia per il semplice fatto che se e' possibile farne una non vedo perche' bisogna farne per forza 7 o quelle che sono ...

    .... quindi il problema non e' XML o non XML, il problema e' prendere i dati dal database con un metodo "sperimentale" ma funzionante, per quanto ho testato io ed 13manuel84 fino ad ora .... poi una volta presi i dati se li puo' pure ficcare nelle orecchie, perche' e' l'ultimo dei problemi ... l' XML ...

    per concludere non ho mai pensato di perdere tempo in tutto quello che scrivo, al massimo scopro che si poteva fare prima o meglio ed imparo qualcosa ( ma non e' questo il caso in cui tu dici usa XML e lui deve intanto prendere dati )
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  4. #84
    [supersaibal]Originariamente inviato da andr3a
    array(4) {
    [0]=>
    string(5) ""Uno""
    [1]=>
    string(6) " "Due""
    [2]=>
    string(6) " "Tre""
    [3]=>
    string(10) " "Quattro""
    }


    caxx ... e leva quelle doppie virgolette dalla stringa e concatena senza gli spazi

    $arguments = "Uno,Due,Tre,Quattro";
    questo e' un arguments buono per un explode( ',', $arguments );

    [/supersaibal]
    Grazie mille!
    funziona tutto benissimo!!!

    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  5. #85
    Utente di HTML.it L'avatar di JHammer
    Registrato dal
    Sep 2004
    Messaggi
    754
    [supersaibal]Originariamente inviato da andr3a

    senti JHammer , di tutto questo 3D penso tu non abbia letto niente ... si parla di ricorsivita' e di estrapolare dati in modo ricorsivo ... ecco, la classe che sta tentando di usare 13manuel84 utilizza un metodo che mi sono inventato io per fare una sola quaery a database, invece di usare il solito metodo delle qery su query che sono molto lente e su strutture grandi possono dare problemi sia per l' esponenzialita' delle query su tanti utenti ( ramo 7 = 7 query per ogni utente ... carico triplicato riepstto una sola query del mio metodo ) sia per il semplice fatto che se e' possibile farne una non vedo perche' bisogna farne per forza 7 o quelle che sono ...

    .... quindi il problema non e' XML o non XML, il problema e' prendere i dati dal database con un metodo "sperimentale" ma funzionante, per quanto ho testato io ed 13manuel84 fino ad ora .... poi una volta presi i dati se li puo' pure ficcare nelle orecchie, perche' e' l'ultimo dei problemi ... l' XML ...

    per concludere non ho mai pensato di perdere tempo in tutto quello che scrivo, al massimo scopro che si poteva fare prima o meglio ed imparo qualcosa ( ma non e' questo il caso in cui tu dici usa XML e lui deve intanto prendere dati ) [/supersaibal]
    Cosa significa una query o 7 query...scusa?
    Il carico di lavoro mica si misura sul numero di query ma sul lavoro che ogni query richiede.
    Se la struttura è davvero gerarchica (per esempio invii una query basata sul path) dovrai effettuare tante query al db quanti sono i livelli di profondità. E allora?
    Ma qui il discorso diventa complesso.

    Io dico solo che un paio di righe di codice collaudato è meglio di paginate intere di codice ancora da testare.
    Prendi il testo XML dal db, lo parsi (una chiamata funzione perchè il parser è già scritto) ed esegui tutte le query che vuoi

    - ricerca nodo per percorso
    - visita della struttura
    - modifica proprietà del nodo ( nome, valore attributo)
    - operazioni di insert/delete/move sui nodi
    - ecc...

    hai finito? Rimetti nel db come stringa. Se necessario mettere nel db.

    Un migliaio di nodi saranno si e no 100 kb di testo...fattibilissimo.

    Visto che la soluzione ad un problema concreto è ha portata di mano ho voluto suggerirla. Tutto qui.


  6. #86
    [supersaibal]Originariamente inviato da JHammer
    Cosa significa una query o 7 query...scusa?
    Il carico di lavoro mica si misura sul numero di query ma sul lavoro che ogni query richiede. [/supersaibal]
    sia l' uno che l'altro, 10 query a utenza simultanea, 100 utenti ? ... 1000 query contro 10, valuta tu chi carica meno ..


    [supersaibal]Originariamente inviato da JHammer
    Se la struttura è davvero gerarchica (per esempio invii una query basata sul path) dovrai effettuare tante query al db quanti sono i livelli di profondità. E allora?
    Ma qui il discorso diventa complesso.[/supersaibal]
    e' qui che ti sbaglil e' proprio questo il discorso affrontato in questo 3D e la mia e' una delle soluzioni ... tu parli di XML direttamente dal database, fammi un esempio di XML estrapolato direttamente dal database con una serie di query ricorsive o con una sola query ( perche' e' sempre di questo che stiamo parlando, 1 query contro tante , io propongo 1, poi come arrivano i dati e' un altro discorso )

    Penso solo che avresti dovuto leggerti il 3D prima di intervenire a pagina 6 e dare del "perdi-tempo" a me perche' tu hai gia' la soluzione ... e che caxxo, so io lo sboro' mica te

    o vuoi togliermi il nomignolo ?
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  7. #87
    Utente di HTML.it L'avatar di JHammer
    Registrato dal
    Sep 2004
    Messaggi
    754
    Guarda che dicevo semplicemente di memorizzare il XML direttamente nel db...le query verrebero 'filtrate' dal parser.

    QUERY_XML -> [PARSER] -> DB

    Trattandosi di una struttura di dimensioni minime (1000 nodi mi pare di aver letto...che vuoi che sia) non vedo problemi nell'effettuare il caricamento direttamente in memoria.

    Una volta che il parsing è stato effettuato (è abbastanza breve perchè è eseguito in modo seriale e proporzionale alla dimensione del documento) ottieni un albero.
    Questo significa ad esempio che l'indirizzamento di un nodo viene eseguito in un tempo effettivamente logaritmico (quindi trascurabile).

  8. #88
    cioe' per ogni cosa devi prima prendere tutto il database poi sfogliartelo per trovare una sola sezione ???

    ... a te sembra comodo e ottimale ?

    a me affatto, tanto piu' se la ragioni "1000 nodi che vuoi che sia" .... poi quando diventano 10000 che fa , ci piange sopra o compra un server dedicato ?
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  9. #89
    Utente di HTML.it L'avatar di JHammer
    Registrato dal
    Sep 2004
    Messaggi
    754
    Ma non è questo il caso...comunque anche una query sql "sfoglia tutto il database per trovare una sezione".

    Se le foglie fossero molte di più allora vedrei meglio una soluzione ibrida basata su una struttura XML per descrivere la gerarhia e una tabella-flat con gli 'item'.

  10. #90
    potresti fare un esempio ?
    sono curioso di sapere con una query come crei un XML in gerarchia da parsare facilmente .... praticamente uno dei problemi piu' discussi, la ricorsivita' di una struttura multilivello in database, tu la proponi in XML e senza dolori ... fai un esempio , grazie
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

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.