Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Foto & Database

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    65

    Foto & Database

    ciao a tutti, ho un 'piccolo' problema, sto creando un'applicazione che manda su un web-server degli annunci da salvare in un database. Ogni annuncio è formato da un id, un utente(nome di colui che crea l'annuncio) e una descrizione. Fin qui, nessun problema, semplice php che manda dati con una $_POST. Il problema nasce nel momento in cui voglio che in ogni annuncio ci siano delle foto. Ho letto che si possono salvare le foto in database con il formato blob, ma che allo stesso tempo non conviene perchè appesantirebbe troppo il database... Come posso fare quindi?
    L'idea sarebbe creare una cartella sul server dove caricare le immagini, aggiungere una tabella nel database con un certo numero di campi in cui inserire l'id dell'annuncio e il nome delle foto caricate.
    Quindi poi quando servirà una determinata foto, fare una select sull'id dell'annuncio, sia per la tabella annunci che per qella foto... e poi andare a trovare nella cartella foto tutti i files con i nomi presi dalla tabella...

    come strada può essere quella giusta??? scusate l'eccessivo testo ma ho cercato di spiegare bene il problema..
    grazie

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Sì, la seconda soluzione è quella giusta, salva le immagini in una cartella e nel db ci metti solo il nome del file.
    Se per ogni annuncio prevedi un numero fisso di foto (o anche variabile, ma con un massimo prefissato), il campo in cui inserire il nome dell'immagine puoi tranquillamente aggiungerlo alla tabella che contiene i dati dell'annuncio.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    65
    grazie mille Alhazred, immaginavo... procedo su questa strada :-)

    ps. le foto come faccio a trovarle? faccio iniziare il nome della foto con idAnnuncio... cioè: idAnnuncio_nomeFoto...???
    Ultima modifica di dabadort; 01-02-2014 a 20:06

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    No, puoi chiamarle come ti pare, se ad esempio i nomi li metti nella stessa tabella in cui salvi gli annunci, quando devi prendere un annuncio farai

    $query = "SELECT * FROM annunci WHERE id=$id";

    in cui $id è l'id dell'annuncio.
    Per sapere quale file immagine devi prendere, basta che dal risultato della query vedi che nome c'è nel campo dedicato al nome del file.

    L'unica cosa è che se metti tutti i file nella stessa cartella potresti ritrovarti con file che hanno lo stesso nome e di default questi vengono sovrascritti.
    Per questo motivo sarebbe meglio che rinominassi i file quando esegui la move_uploaded_file().
    Devi dare un nome univoco ad ogni immagine.
    Se per ogni annuncio se ne può caricare solo una, basta che il nome lo componi con id_utente+timestamp

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    65
    giusto, grazie alhazred, sei stato chiarissimo.... procedo

    ultima domanda e non stresso piu

    i nomi delle foto li inserisco tutti in un campo... cioè: foto1_foto2_foto3... ovviamente fino ad un max della grandezza dei char del campo.. giusto?
    Ultima modifica di dabadort; 01-02-2014 a 20:22

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Sai già quante immagini si possono inserire al massimo? Se sì e se non è un numero esagerato, crea un campo per ogni immagine, sarà più facile gestirle in caso dovessi cancellarne solo alcune.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    65
    si, in effetti dovrei far inserire fino ad un max di 3 img... meglio creare un campo per ognuna... grazie per i consigli

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.