Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    php e numero dinamico di immagini in mySql

    Salve a tutti,
    volevo un consiglio sul modo di approcciare alla seguente questione di programmazione con php e mySql.

    Allora : attraverso uno script php inserisco righe in un database mySql.
    Ogni riga contiene vari campi che descrivono un particolare elemento, supponiamo così :

    id
    titolo
    descrizione
    immagini

    Ora, se devo fare in modo che ogni elemento abbia un numero finito di immagini che lo descrivono, non ci sono problemi; (es. ogni elemento può essere rappresentato al massimo da 5 foto...), allora 5 campi nel database tipo img1, img2, ect e 5 "campi file" tipo SFOGLIA nella pagina che carica le foto ....

    .... Ma il punto è questo : se l'inserimento delle immagini è dinamico ? Nel senso che ogni elemento può avere un numero di immagini indefinito ? 1 immagine o 5 o 10 o 20 ? In questo caso i 5 campi riservati alle immagini potrebbero essere insufficienti !!!

    L'unica soluzione a cui ho pensato è quella di mettere tutte le immagini in una tabella dedicata solo alle immagini e collegarle di volta in volta all'elemento considerato ...

    volevo sapere se sono possibili altre soluzioni in via di programmazione e come fare per la pagina "carica_elemento" che dovrà contenere tanti "campi file" tipo SFOGLIA quante sono le immagini da caricare ... (javascript ?!)

    Non cerco script belli e fatti,
    mi accontento anche solo di modi come procedere ...

    grazie

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520

    Re: php e numero dinamico di immagini in mySql

    Originariamente inviato da beta_persei

    L'unica soluzione a cui ho pensato è quella di mettere tutte le immagini in una tabella dedicata solo alle immagini e collegarle di volta in volta all'elemento considerato ...
    esattamente questo, mysql è un db relazionale

    Originariamente inviato da beta_persei
    volevo sapere se sono possibili altre soluzioni in via di programmazione
    certamente si, ma sarebbero tutte molto peggiori

    Originariamente inviato da beta_persei
    e come fare per la pagina "carica_elemento" che dovrà contenere tanti "campi file" tipo SFOGLIA quante sono le immagini da caricare ... (javascript ?!)
    questa in effetti è la parte + difficile, potresti usare ajax (ci sono gia scrip implementati sopratutto con jQuery guarda questo http://valums.com/ajax-upload/) oppure chiedere a priori quante immagini vuole caricare

  3. #3
    esattamente questo, mysql è un db relazionale
    Ok, ci siamo...
    ho una tabella immagini, nella quale ci sono tutte le immagini (chiaramente un link ad esse) di tutti gli elementi contrassegnate da un id univoco oppure da un codice alfanumerico a tot cifre...

    se ad un elemento devo associare per esempio 6 immagini tra tutte quelle presenti nella tabella immagini come posso fare ?
    ... nel senso che, come posso salvare l'informazione che poi andrà a recuperare l'effettivo numero di immagini caricate per quell'elemento in particolare ?

    ...partendo sempre dal fatto che quell'elemento è identificato da una riga di una tabella con un id, un titolo una descrizione ed un certo numero di immagini da associare !

  4. #4
    Un workaround semplice e che potrebbe aiutarti è memorizzare per ciascun utente o elemento in un unico campo una stringa di lughezza arbitraria (blob) in cui tieni i nomi o indici delle immagini separati da un carattere arbitrario.
    Quando leggi il campo usi explode() di php per ottenerne un array delle immagini.
    Quando scrivi nel campo userai un join().
    Funziona, ma è solo un espediente.

    La cosa giusta, visto che usi un db relazionale, è usarlo in modo più approfondito, usando più tabelle se necessario.
    Nel tuo esempio io userei una tabella per gli utenti o elementi ed un'altra per le immagini.

    Devi poi definire nei dati di ciascuna immagine la id dell'utente o elemento cui appartiene.
    Qualcosa tipo immagine(ID,titolo,url,userID,width,height,...).

    Poi mysql ti permette di calcolare al volo quante (e quali) immagini appartengono a ciascun utente o elemento.
    Tecnolgie per l'arte.
    Arti per la tecnologia.
    softhare

  5. #5
    Devi poi definire nei dati di ciascuna immagine la id dell'utente o elemento cui appartiene. Qualcosa tipo immagine(ID,titolo,url,userID,width,height,...).
    eccola !!!
    E' lei. Non ci avevo pensato...
    Un campo uguale per entrambe le tabelle (elementi e immagini) popolato con lo stesso valore, un identificativo dell'elemento che poi verrà riportato in ogni riga immagine corrispondente ...

    penso sia la cosa più giusta !

    grazie mille e ciao

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