Visualizzazione dei risultati da 1 a 7 su 7

Discussione: progetto web php e sql

  1. #1

    progetto web php e sql

    Ciao a tutti...devo creare per racimolare un po' di crediti all'università un piccolo sito tipo ebay. Ho fatto un piccolo progetto ma sono sorti subito dei problemi:

    Il problema sono le categorie e sottogategorie degli oggetti. Come inserirle in un database? avevo pensato a fare una tabella delle vategorie con un campo "predecessore" in cui inserire una specie di puntatore alla categoria superiore

    Devo inserire ogni utente che si iscrive in un database, e ogni utente ha delle preferenze...come faccio ha inserire per ogni utente, ad esempio che ha preferenze di moto/cagiva/mito e magari computer e sport/pallavolo ?

    Ciao! grazie a tutti!
    www.valeweb.net

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    campo predecessore a mo' di liste... che università fai? Va bene come soluzione: è flessibile per il fatto che puoi aggiungere nuove categorie facilmente...

    per le preferenze puoi fare un campo testo con una lista separata da virgole.

  3. #3
    beh... non è proprio corretto usare quelle virgole...

    la struttura corretta è questa

    tabella categorie:
    id_categoria (PRIMARY KEY)
    nome_categoria
    ...
    ...
    id_categoria_superiore (se =0 vuol dire che è una delle principali)


    per le preferenze fai un albero delle preferenze con un checkbox per ogni voce...
    poi fai una tabella associativa che ti collega la tabella categorie con la tabella utenti facendo attenzione che entrambe le chiavi siano primarie

    tabella preferenze:
    id_utente (PRIMARY KEY)
    id_categoria (PRIMARY KEY)

    e poi la tabella utenti la fai come vuoi tu... (non dimenticare id_utente)


    ciao
    «Se leggi dimentichi, se vedi capisci, se fai impari» Piaget

  4. #4
    ho capito tutto tranne:


    poi fai una tabella associativa che ti collega la tabella categorie con la tabella utenti facendo attenzione che entrambe le chiavi siano primarie
    www.valeweb.net

  5. #5
    esattamente quello che ho detto...

    la tabella "preferenze" ti serve di collegamento fra la tabella "categorie" e la tabella "utenti"... in sostanza è la relazione che unisce le 2 tabelle...

    per leggerle devi fare una JOIN... che molto semplicemente si può fare così

    SELECT u.nome, u.cognome, c.nome FROM utenti AS u, categorie AS c, preferenze AS p WHERE p.id_utente=u.id AND p.id_categoria=c.id

    e ti da tutta la lista

    Mario Rossi -> Ciclismo
    Mario Rossi -> Sci
    Michele Bianchi -> Nautica
    Alessandro Delpiero -> Calcio

    capito?
    «Se leggi dimentichi, se vedi capisci, se fai impari» Piaget

  6. #6
    Okkei...capito tutto...

    devo inserire le categorie nel database...devo ogni volta fare

    $"INSERT INTO categorie (categoria, predecessore) VALUES ('moto',1)"

    e poi fare la query per ogni categoria???
    www.valeweb.net

  7. #7
    mi spiego meglio con la geografia. Metto fra parentesi id_superiore.

    codice:
    1.MONDO (0)
    |__2.Europa (1)
    |  |__7.Spagna (2)
    |  |__8.Italia (2)
    |  |  |__10.Sardegna (8)
    |  |  |  |__12.Oristano (10)
    |  |  |  |__13.Cagliari (10)
    |  |  |  |__14.Sassari (10)
    |  |  |  |__15.Nuoro (10)
    |  |  |
    |  |  |__11.Lazio (8)
    |  |
    |  |__9.Francia (2)
    |
    |__3.Asia (1)
    |__4.Africa (1)
    |__5.America (1)
    |__6.Oceania (1)
    capito la struttura?

    ora... per inserire dipende dove vuoi mettere la categoria...
    se devi inserire MONDO farai...

    mysql_query("INSERT INTO categorie (nome, idcat) VALUES('MONDO','0');");

    se invece devi inserire Europa... dovrai sapere che sta sotto MONDO... e che MONDO ha id=1

    mysql_query("INSERT INTO categorie (nome, idcat) VALUES('Europa','1');");

    capito?
    «Se leggi dimentichi, se vedi capisci, se fai impari» Piaget

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.