Visualizzazione dei risultati da 1 a 8 su 8

Discussione: tabella super dinamica

  1. #1

    tabella super dinamica

    ragazzi ho l'esigenza di lasciare libero l'utente di compilare una tabella dinamica. Nel senso lui può andare a scrivere il titolo della tabella e il valore:

    es:
    <table>
    <tr><td>Titolo</td></tr>
    <tr><td>Valore</td></tr>
    </table>

    Ovviamente lui non scriverà html, quindi avrà dei campi dove aggiungere titolo e valore.

    Adesso questi dati, li devo per forzare salvare in un solo campo del db, ma come posso fare?

  2. #2
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Ciao perchè
    Adesso questi dati, li devo per forzare salvare in un solo campo del db
    quel "per forza"?è una scomodità a mio avviso.

    Successivamente, cosa non ti è chiaro nel codice che devi scrivere?come conservare in db le scelte fatte dall'utente?

  3. #3
    Praticamente l'utente scrive un array(Titolo, Valore) ??

    Soluzione più semplice per l'inserimento in un solo campo è che tu crei dei separatori.

    Esempio

    Dati inseriti dall'utente:
    - TitoloXX, ValoreXX
    - TitoloY, ValoreY
    - TitoloZ, ValoreZ
    - ....

    Separatore nuovo dato = "##"
    Separatore titolo-valore = "@@"

    Quindi la stringa che salverai sul tuo campo sarà:
    TitoloXX@@ValoreXX##TitoloY@@ValoreY##TitoloZ@@Val oreZ

    Questo però avrà delle problematiche ENORMI sia a livello di manipolazioni dati che di inserimento. Ricordati che le tabella hanno dei limiti.

    La cosa migliore che puoi fare a mio avviso è salvarli su una tabella dedicata con id autoincrementale e salvi il valore dell'ID nel campo della tabella dove vorresti salvare l'intera mole di dati.

    Spero di averti dato un aiuto.
    Google Partner | Senior Developer
    Guida su Google Tag Manager

  4. #4
    esatto Zambros mi hai capito. Non so come fare, non mi piace come soluzione, però purtroppo deve essere tutto dinamico.

  5. #5
    visto che mi pare di capire si tratti di un semplice elenco chiave/valore, perché non fare 2 tabelle, una che tieni come riferimento principale e l'altra che contiene i vari chiave/valore riferiti al record del tabella principale?

    così risolvi il problema di stringhe enormi e complessità nella manipolazione

    se poi hai la necessità di tirar fuori tutto in un sol colpo basta un

    SELECT GROUP_CONCAT(CONCAT(chiave, '=', valore) SEPARATOR '&') FROM tbl1 INNER JOIN tbl2 ON (tbl1.id = tbl2.tbl1_id)

    e poi fai un www.php.net/parse_str per "decodificarti" la stringa

    ovviamente ti sconsiglio di fare una cosa del genere ... ma se proprio ti serve facendo questi "simuli" la situazione che ti serve

  6. #6
    Come ti ho suggerito dovrebbe funzionare bene. Però a livello successivo di prestazioni ti darà grane.
    Il mio consiglio è che se puoi fai una tabella ad hoc con id e nella campo salvi l'id alla tabella creata ad hoc.

    Altri stratagemmi son difficili.
    Google Partner | Senior Developer
    Guida su Google Tag Manager

  7. #7
    Originariamente inviato da daniele_dll
    visto che mi pare di capire si tratti di un semplice elenco chiave/valore, perché non fare 2 tabelle, una che tieni come riferimento principale e l'altra che contiene i vari chiave/valore riferiti al record del tabella principale?

    così risolvi il problema di stringhe enormi e complessità nella manipolazione

    se poi hai la necessità di tirar fuori tutto in un sol colpo basta un

    SELECT GROUP_CONCAT(CONCAT(chiave, '=', valore) SEPARATOR '&') FROM tbl1 INNER JOIN tbl2 ON (tbl1.id = tbl2.tbl1_id)

    e poi fai un www.php.net/parse_str per "decodificarti" la stringa

    ovviamente ti sconsiglio di fare una cosa del genere ... ma se proprio ti serve facendo questi "simuli" la situazione che ti serve
    Esattamente
    Google Partner | Senior Developer
    Guida su Google Tag Manager

  8. #8
    ok grazie

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