Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 34
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    202

    1 tabella o 2 tabelle? galleria immagini, suggerimento! help

    ciao scusate di nuovo, ho un problema.
    + precisamente ho bisogno di un suggerimento su come fare...

    se io ho una tabella (utenti) del tipo:
    ID | NOME | COGNOME

    e voglio associare una galleria di immagini a un utente.

    Quindi ammettiamo che inserisco la riga n°1:
    - NOME: Marco
    - COGNOME: Rossi

    Ho una pagina lista.php dove estraggo la lista degli utenti. E voglio mettere sotto ogni utente una galleria di immagini gia visibili relativa a quell'utente.

    Esempio:
    - Nome1 Cognome1
    + galleria

    - Nome2 Cognome2
    + galleria

    ...


    La mia domanda è questa:
    (1) devo fare una tabella a parte immagini? Oppure
    (2) devo creare una cella immagini nella tabella "utenti"?

    Se la risposta fosse (1) come sarebbe strutturata la tabella? con righe multiple? nel senso:
    ID | NOME | COGNOME | IMMAGINE
    riga1 --> Nome1 | Cognome1 | Foto1.jpg
    riga2 --> Nome2 | Cognome2 | Foto2.jpg
    ...

    e poi faccio un GROUP in base al nome/cognome?

    e inoltre come faccio nella mia pagina della lista a dire di prendere i record sulla tabella (immagini) con lo stesso nome da cui ho estratto i dati dalla tabella (utenti)?

    Se la risposta fosse (2) le foto le inserisco tutte in un campo? (foto1.jpg#foto2.jpg) e poi uso l'explode classico ecc... Ma poi se devo gestire le foto (esempio cancellarle, modificarle, ecc) come faccio se mi ritrovo un gruppo di nomi di foto in una cella?

    Qual'è la soluzione migliore? Grazie mille a tutti!!!

  2. #2
    Utente di HTML.it L'avatar di dararag
    Registrato dal
    Jan 2008
    Messaggi
    434
    Codice PHP:
    $query="SELECT NOME, COGNOME, IMMAGINI FROM utenti WHERE ID='" $id "'"
    ovviamente in immagini inserisci i codici per inserire le varie immagini.

  3. #3
    La soluzione migliore e' creare un'altra tabella per le immagini che contenga (almeno) questi campi:

    ID | ID_UTENTE | IMMAGINE

    ogni volta che inserisci un'immagine in questa tabella, la inserisci specificando anche l'ID dell'utente preso dall'altra tabella.

  4. #4
    Utente di HTML.it L'avatar di dararag
    Registrato dal
    Jan 2008
    Messaggi
    434
    invece di fare tre passaggi (inserimento immagine, recupero id, inserimento id) non è meglio farne uno (inserimento immagine dov'è l'id)?

  5. #5
    Originariamente inviato da dararag
    invece di fare tre passaggi (inserimento immagine, recupero id, inserimento id) non è meglio farne uno (inserimento immagine dov'è l'id)?
    E se invece di una immagine ne devi inserire un numero indefinito? Magari un utente ne ha una, un altro 10, un altro 100.

  6. #6
    Utente di HTML.it L'avatar di dararag
    Registrato dal
    Jan 2008
    Messaggi
    434
    le inserisci così e poi le dividi con explode o con split:
    [/PHP]
    $insert="INSERT INTO utenti (IMMAGINE) VALUES(<img src=\"percorsoimmagine.jpg\">-) WHERE ID='" . $id . "'";
    [/PHP]

  7. #7
    Certo, funziona. Ma non e' un esempio di buona costruzione di un database. I dati multipli dovrebbero essere messi in record distinti, non in colonne (o in una con l'artificio del valore multiplo). La tua soluzione aggiunge complessita' dal lato dell'applicazione (concatenamento e divisione degli elementi) e riduce le possibilita' di query immediate.

    Metti che vuoi cancellare l'immagine nr 10 dell'utente 5. Devi estrarre la riga, prendere la stringa, eliminare la parte che vuoi togliere e fare un update sulla tabella. Con due tabelle fai "DELETE FROM immagini WHERE id = '$id'".

    Vuoi sapere quante immagini ha un certo utente? "SELECT COUNT(*) FROM immagini WHERE id_utente = '$id_utente'. Con il tuo sistema devi estrarre la riga e processarla in PHP.

    Vuoi banalmente inserire un'altra immagine? Devi fare un update invece di un insert (piu' complesso e piu' lento).

    Insomma, si puo' fare come si vuole, ma visto che webboy ha chiesto il sistema migliore, allora la soluzione e' due tabelle.

  8. #8
    Utente di HTML.it L'avatar di dararag
    Registrato dal
    Jan 2008
    Messaggi
    434
    uao, ti calcoli i micron che ci mette?!

  9. #9
    Che ti devo dire, fai come ti pare

  10. #10
    Utente di HTML.it L'avatar di dararag
    Registrato dal
    Jan 2008
    Messaggi
    434
    scherzavo...

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