Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    78

    PHP e MySQL dubbio "etico" su come procedere

    sto realizzando un sito con una sezione prodotti che verrà generata appoggiandosi a un database.
    i prodotti in questione saranno divisi in categorie e sottocategorie.
    attualmente ho tre tabelle: categorie, sottocategorie (che fanno riferimento a una categoria della precedente tabella in maniera univoca) e prodotti (che a loro volta fanno riferimento a una sottocategoria).

    ora ho bisogno di elencare tutti i prodotti di una categoria e non so come procedere:

    1) sistema veloce ma che mi sembra poco pulito:
    aggiungo una voce alla tabella dei prodotti e scrivo per ogni prodotto non solo l'id della sottocategoria ma anche della categoria.
    2) sistema che mi sembra migliore ma che forse impegna di più il db:
    in qualche modo (non ho le idee chiarissime in merito) faccio una serie di query che prima mi estraggono le sottocategorie della categoria di cui voglio la lista prodotti, e poi i prodotti di ognuna delle sottocategorie estratte.

    spero di essere stato chiaro,
    grazie in anticipo.

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    tipo... (verificare sintassi)

    codice:
    SELECT * FROM ((categorie JOIN sottocategorie, prodotti ON categorie.id=sottocategorie.id_categoria) JOIN prodotti ON sottocategorie.id=prodotto.id_sottocategoria) WHERE categorie.nome = 'esempio';

    ...cmq puoi collegare anche tre tabelle

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    78
    Innanzitutto GRAZIE!
    capisco dove sostituire i nomi delle tabelle, ma "sottocategorie.id_categoria" o "categorie.nome" cosa rappresentano? dei campi della tabella?
    scusami, ma finora o realizzato solo query MOLTO semplici...

    [EDIT]
    ok, non conoscevo l'opzione JOIN, sto leggendo un po' di documentazione, grazie ancora.

  4. #4
    significano tabella1.nomecampodellatabella1

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    78
    grazie anche a te
    come scrivevo sopra, non conoscevo l'opzione JOIN, mi sto documentando.

    ho anche trovato alcune soluzioni che prevedono l'uso di una sola tabella per categorie e sottocategorie, con un campo parent_id, se è a 0 il record è una categoria, se è diverso da zero è una sottocategoria della categoria con quell'id.
    penso di riuscire a gestire il db anche così, vi sembra un sistema più efficente?

    grazie di nuovo.

  6. #6
    si può anche fare, ma per fare un lavoro più "pulito" ti consiglio di fare come ti ha detto eiyen..

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    78
    ok perfetto, grazie!
    come è chiaro sto ancora imparando, e già che imparo, oltre al codice, vorrei imparare a "lavorare bene".

  8. #8
    questo è ovvio

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.