Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di sandu
    Registrato dal
    Feb 2005
    Messaggi
    239

    albero categorie-prodotti ... questo metodo è valido ?

    Ciao a tutti , probabilmente questo post sembrerà un pò strano ma mi interessa avere l'opinione di chi ha molta più esperienza di me nel settore ...

    Avendo la necessità di realizzare un catalogo online di prodotti con php-mysql mi sono scontrato con il problema di realizzare l'albero categorie-prodotti in modo da poter aggiungere senza problemi categorie e sottocategorie infinite (non prestabilite prima quindi) ...

    Ho pensato di realizzare il sistema in questo modo:

    Creo una tabella in cui inserisco sia i prodotti che le categorie (distinguendoli con un identificativo per esempio 'p' e 'c') e il relativo percorso in cui si trovano nell'albero a prescindere dal fatto che siano prodotti o categorie

    per esempio
    poniamo di avere questi prodotti

    PRODOTTI
    ---|_VINO
    ---|---|_ROSSO
    ---|---|_BIANCO
    ---|_BIRRA
    ---|---|_CHIARA
    ---|---|---|_NORMALE
    ---|---|---|_DOPPIO MALTO
    ---|---|_SCURA
    ---|_ACQUA
    ---|_GRAPPA

    in questo caso potrei creare una tabella con 3 campi (più altri non influenti in questo caso)
    -nome
    -percorso
    -tipologia (prodotto [p] o categoria[c])

    e ad esempio inserire:

    BIRRA (nome), PRODOTTI (percorso), C (tipologia)
    DOPPIO MALTO (nome) , PRODOTTI/BIRRA/CHIARA (percorso), P (tipologia)
    BIANCO (nome), PRODOTTI/VINO (percorso), P(tipologia)

    in questo modo dovrei garantirmi la possibilità di creare infinite categorie e sottocategorie e inserire quanti prodotti voglio ...
    in sostanza quando richiamo i dati se la tipologia è [c] si tratterà di un elenco (delle relative sottocategorie o prodotti)mentre se è [p] di una scheda-prodotto

    oltretutto il percorso mi sarebbe utile per realizzare una navigazione a briciole di pane all'interno del catalogo ...

    Il problema è che il sistema mi sembra troppo semplice ... , mi sbaglio o effettivamente a causa della mia poca esperienza non ho tenuto conto di elementi che potrebbero successivamente diventare problematici ?

    semplicemente non vorrei lavorare su un sistema che magari è sbagliato in partenza (e io non me ne sono accorto) e dover poi buttare tutto il lavoro ...

    Grazie a chiunque volgia darmi un parere a riguardo (e avrà la pazienza di leggere questo post...)


  2. #2
    Utente di HTML.it L'avatar di Gumble
    Registrato dal
    Jun 2004
    Messaggi
    1,313
    a me sembra un po strano... però ho riflettuto un po e non riesco ad ottenere una cosa flessibile come vuoi tu.. insomma a un certo punto bisogna fermarsi.

    non so come poter rappresentare infinite categorie/sottocategorie (é questo che vuoi in fine no?).

    insomma.. se a un certo punto di "birra doppiomalto" ce ne saranno due tipi??? come fare se non nel tuo modo?

    é solo che cosi a occhio mi sembra poco relazionale la cosa :master:
    alcool: la causa e la soluzione di tutti i problemi

  3. #3
    Utente di HTML.it L'avatar di sandu
    Registrato dal
    Feb 2005
    Messaggi
    239
    Originariamente inviato da Gumble
    a me sembra un po strano... però ho riflettuto un po e non riesco ad ottenere una cosa flessibile come vuoi tu.. insomma a un certo punto bisogna fermarsi.

    non so come poter rappresentare infinite categorie/sottocategorie (é questo che vuoi in fine no?).

    insomma.. se a un certo punto di "birra doppiomalto" ce ne saranno due tipi??? come fare se non nel tuo modo?

    é solo che cosi a occhio mi sembra poco relazionale la cosa :master:
    grazie dell'attenzione innanzitutto ...

    in che senso dici "a un certo punto bisogna fermarsi" ?

    cosa intendi per poco relazionale ?

    rigrazie


  4. #4
    lo puoi fare in maniera "relativamente" semplice usando una struttura ricorsiva.

    praticamente hai una tabella con 3 campi fondamentali ( più quelli che ti servono aggiuntivi come descrizione, codice prodotto e chi più ne ha più metta ), ma la tua tabella avrà: ID, NOME e PARENT_ID, dove id è la chiave autoincrement, nome è un qualcosa per identificare di cosa sto parlando e PARENT_ID sarà l'id del "padre". E quelli con PARENT_ID=0 saranno i rami da cui parti con la tua gerarchia.


    in questop modo hai una struttura potenzialmente ad infinite categorie. Fai una piccola ricerca, se n'è parlato molte volte sul forum.

    Ti passo un paio di link che potrebbero tornarti utili:
    http://forum.html.it/forum/showthrea...hreadid=746201
    http://www.devpro.it/code.php?code=64 ( questa è un'ottima classe di andr3a, ci ho messo un po' a capirla perché con le classi non avevo molta dimestichezza, ma nel thread sopra è spiegato anche come usarla)
    http://www.sitepoint.com/article/hie...-data-database





    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. #5
    Utente di HTML.it L'avatar di sandu
    Registrato dal
    Feb 2005
    Messaggi
    239
    grazie 13manuel84, avevo letto proprio il tuo post (il primo link) quando mi sono posto il problema ... il fatto però è che le cose si complicavano notevolmente per le mie conoscenze ....

    per questo ho pensato all'altro metodo ...

    quello che non capisco (dato che non credo siate masochisti) è quali sono i vantaggi del sistema diciamo più complesso cah proponi ...

    I miei dubbi derivano proprio dal fatto che il mio mi sembra troppo "facile" e quindi penso nasconda qualche errore che io non riesco a vedere ...


  6. #6
    guarda, il metodo che ho proposto non ha nulla di trascendentale e difficile. Magari se sei agli inizi scarta la classe, ma prova a dare un'occhiata all'articolo che ti ho passato, vedrai che non è poi così difficile, anzi.


    Se poi hai qualche dubbio chiedi pure!
    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

  7. #7
    Utente di HTML.it L'avatar di sandu
    Registrato dal
    Feb 2005
    Messaggi
    239
    scusa, io mi sono letto il post con il metodo di andr3a ma non capisco cosa non funziona nel metodo che propongo io ...

    in sostanza tutti i dati starebbero in una sola tabella e per ogni inserimento potrei sapere se si tratta di un prodotto o di una categoria e il percorso/posizione esatta all'interno della gerarchia completa oltre al percorso stesso ...

    in pratica non avrei solo il nodo padre ma contemporaneamente tutto il percorso a partire dalla radice ... il che dovrebbe aiutarmi anche ad organizzare il lato amministrativo ...

    Sostanzialmente non capisco quali sono i vantaggi del metodo che proponi tu ...probabilmente mi mancano dei concetti e per questo chiedevo ...

    perchè il mio sistema secondo te non va ?


  8. #8
    beh, ad esempio che se cambi un valore devi farti una funzione che vada a splittare TUTTI i campi percorso e sostituisca il nuovo valore al vecchio, mentre con il mio lavori sugli id, quindi lo puoi cambiare tranquillamente non tralasciandone nessuno.
    poi se devi inserire un nuovo livello che vada ad inserirsi tra due livelli già esistenti devi fare lo stesso lavoro di prima: vai a cercare tutti i campi che nel percorso hanno l'accoppiata livello1|livello2, lo splitti, ci inserisci in mezzo il nuovo livello e poi lo salvi.
    Tutta mole di lavoro che richiederebbe ore per la stesura del codice e una manutenzione futura di non facile comprensione.


    Questi sono i primi che mi sono venuti in mente...



    Ciao!
    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

  9. #9
    Utente di HTML.it L'avatar di sandu
    Registrato dal
    Feb 2005
    Messaggi
    239
    Perfetto ! era proprio quello che volevo ... trovare i possibili problemi del sistema ....

    adesso mi studio bene la situazione e vedo cosa fare ...

    grazie

  10. #10
    Utente di HTML.it L'avatar di Graboid
    Registrato dal
    Oct 2004
    Messaggi
    619
    Fidati, usa gli id!

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.