Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente bannato
    Registrato dal
    Feb 2011
    Messaggi
    85

    JOIN - Dati di una tabella tramite dati di un'altra. Come?

    Ciao ragazzi, rieccomi.. :P

    Desideroso come sempre di imparare e sperimentare, sono arrivato al momento in cui mi chiedevo come poter prendere dati da tre tabelle diverse tramite un parametro solo.

    Ho 3 tabelle così composte:

    tab categoria
    - id
    - descrizione

    tabella sottocategoria
    - id
    - id categoria
    - descrizione

    tabella articoli
    - id
    - id categoria
    - id sottocategoria
    - descrizione
    - altri valori

    Quello che vorrei realizzare è un semplice sub-menu in php del tipo "adesso ti trovi in: categoria - sottocategoria - prodotto".
    Da pagina a pagina io mando l'informazione tramute un $_GET gia inserito nel link (ad esempio: da pagina CATEGORIA a pagina SOTTOCATEGORIA ci vado con un link tipo href="elenco.php?campo='002") e nella pagina elenco mi spuntano tutte le sottocategorie contenute nella categoria col codice 002.

    Non so come impostare una join per realizzare un sub-menu coi vari link di dove l'utente si trova, cioè in realtà non so come estrapolare, grazie al codice mandatomi col $_GET, i dati di una tabella e l'altra, perchè me ne servono alcuni di una e alcuni di un altra.

    Mi date una mano?

  2. #2
    Codice PHP:
    "SELECT c.descrizione AS categoria, s.id AS id_sottocategoria, s.descrizione AS descrizione_sottocategoria FROM categoria AS c INNER JOIN sottocategoria AS s ON c.id = s.id WHERE s.id_categoria = '$id_categoria'"
    non ho ben capito...ma dovrebbe essere una cosa del genere...dopo l'esecuzione della query avrai una tabella con 3 colonne:

    categoria -> la descrizione della categoria;
    id_sottocategoria -> nel caso devi creare dei link ad articoli ti serve;
    descrizione_sottocategoria ->la descrizione della sottocategoria;
    V.I.S.T.A. --> Virus Inside, Switch To Apple

  3. #3
    Utente bannato
    Registrato dal
    Feb 2011
    Messaggi
    85
    Porca miseria, è da due giorni che ci provo e finalmente ci sono riuscito, sono troppo contento!
    L'ho realizzato cosi:

    codice:
    "SELECT * FROM categoria as c, prodotti as p INNER JOIN sottocategoria AS s WHERE c.id_cat = p.id_cat AND s.id_sottocat = p.id_sottocat AND p.id_prod = '$_GET[id_prod]'"
    In pratica la spiegazione della JOIN, che solo pochi minuti fa ho finalmente compreso appieno, è:

    Se ho tre tabelle t1 t2 t3, in cui l'id di t1 è contenuto in t2 e t3 e l'id di t2 è contentuto in t3, io confronto prima la tabella che contiene i codici di tutti con una delle due e poi il risultato di questo con l'altra tabella, in questo caso confronto prima t3 con t1 e poi contronto il risultato con t2, e alla fine, tramite WHERE, specifico le condizioni.

    2 giorni.... 2 schifosi giorni a provare.. ma ci sono riuscito maledetto!!!

    Grazie infinite!

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.