Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269

    Upload foto su database

    Salve ragazzi, io ho un modulo in html, che mi permette di sfogliare immagini che ho sul pc ed inserire l'indirizzo sul database.
    Adesso ogni utente che compila il modulo, ha a la disponibilità di inserire 3 foto(quindi 3 indirizzi).
    Ho una tabella sul database: FOTO con i seguenti campi:

    id_foto
    id_annuncio
    indirizzo

    Adesso questa è la mia domanda:

    si possono inserire più indirizzi(una sorta di array di indirizzi) nel campo indirizzo?
    Oppure devo inserire l'indirizzo in un campo diverso, con id diverso?

    Grazie anticipatamente
    Con i sogni possiamo conoscere il futuro...

  2. #2
    Si può mettere tutto quello che vuoi nel DB, tutto sta a sapere di partenza: 1. quello che si vuole fare con la propria applicazione; 2. quello che ci si aspetta che gli utenti facciano; 3. che la struttura delle colonne del DB ce lo permetta.

    Se il campo indirizzo della tabella è di tipo "Text", puoi concateanre un numero X di immagini (separandole con un opportuno carattere).
    Quando vai ad estrarre il dato dal DB, non fai altro che fare l'explode della stringa con tutti gli indirzzi per il carattere di cui ti dicevo.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  3. #3
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    A livello sintattico potresti farmi un piccolo esempio.
    Grazie mille!
    Con i sogni possiamo conoscere il futuro...

  4. #4
    Ammettendo che le variabili FILE della form si chiamino file1, file2, file3.
    Codice PHP:
    $file1 $_FILES['file1']['name'];
    $file2 $_FILES['file2']['name'];
    $file3 $_FILES['file3']['name'];

    $stringa_immagini $file1."|".$file2."|".$file3;
    // restituisce
    // immagin1.jpg|immagine2.jpg|immagine3.jpg 
    Questa stringa di nomi la salvi nel DB.
    Quando tornerai ad estrarla, nello script che esegue la query di select, non fai altro che:
    Codice PHP:
    list($img1$img2$img3) = explode("|"$stringa_immagini); 
    Semplice no?
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  5. #5
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    Alcio, il problema e che io ho un unico campo, img, dal quale premo sfoglia e carico l'img...
    Adesso devo fare in modo, una volta caricata 1 img, deve uscire in basso puoi caricare altre 2 foto. Questo dev'essere fatto sempre dallo stesso campo, e quando inserisco una nuova img deve aggiungersi nel campo indirizzo che ho sul database..

    Poi da qui io ricevo i nomi delle img:

    Codice PHP:
    $file1 $_FILES['file1']['name'];
    $file2 $_FILES['file2']['name'];
    $file3 $_FILES['file3']['name'];

    $stringa_immagini $file1."|".$file2."|".$file3;
    // restituisce
    // immagin1.jpg|immagine2.jpg|immagine3.jpg 
    Però ovviamente ci sarà una grandezza prestabilita delle img che non bisogna superare... tipo 100 kb
    Con i sogni possiamo conoscere il futuro...

  6. #6
    se ho capito bene tu vuoi che quando hai selezionato la prima immagine nel campo input file ti appaiano altri due campi sotto in cui caricare altre foto..(anche se nn capisco xke non mostrarli subito)....cmq con javascript puoi fare una funzione che una volta caricata la prima immagine vai a modificare l'innerHTML del div contenente il form e far apparire altri 2 o 3 o quanti ne vuoi input file etc...

  7. #7
    Ha ragione Mr.Click sia sul perché non mostrarli subito, sia sull'uso di JS per mostrarli in un secondo momento.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

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.