+ Rispondi
Risultati da 1 a 2 di 2

Discussione: Controllare se un file è già presente in un db senza considerare una parte del testo

  1. #1
    Nuovo della community L'avatar di fabioski
    reputazione complessiva: 1 1

    Messaggi
    43

    Question Controllare se un file è già presente in un db senza considerare una parte del testo

    Cerco di spiegarmi.
    Nel mio sito un utente può caricare una foto.

    Io salvo delle informazioni della foto in una tabella di un database.

    Prima di tutto "metto a posto" il nome del file eliminandone accenti, scrivendolo tutto in minuscolo, cambiando gli spazi con delle "-" e così via.

    Poi per evitare sovrascritture e per altri motivi pre-pongo un numero autoincrementante al nome del file.

    Se ho 1234 foto inserite e l'utente AAA inserisce la foto con nome:
    oggi è PRIMavera.jpg

    io salvo la foto con il nome del file
    1235-oggi-e-primavera.jpg

    e nel database salvo le informazioni:
    -datainserimento
    -nome file (1235-oggi-e-primavera.jpg)
    -altre

    Ecco la domanda
    Voglio evitare che uno stesso utente carica la stessa foto più volte, o meglio la foto con lo stesso nome, più volte entro 3 mesi.

    Per fare questo volevo fare una query di controllo nel database:
    prima di tutto faccio:

    SELECT * FROM tabellafoto
    WHERE utente = '$utente'
    AND datacaricamento <= '$oggipiutremesi'
    AND nomefile = '???'

    Ecco come faccio a confrontare i nomi dei file.

    Sono in grado di ottenere il nome della foto da caricare senza spazi, maiuscole, accenti etc etc e lo devo confrontare con tutti i nomi dei file del database DOPO il numero-

    Nel database le foto sono salvate come:
    NUMERO-nomefiledatabase.jpg

    Come posso nella query ottenere:
    WHERE nomefile = 'nomefiledatabase.jpg' (ovvero senza il nuimero davanti)?

    LE foto sono migliaia e non vorrei fare una query che carica troppo il server.
    Elenco delle webcam di montagne, sci, località italiane
    SKI WEBCAM

  2. #2
    Utente della community
    reputazione complessiva: 1 1

    Messaggi
    483
    usa l'operatore LIKE quando cerchi.

    WHERE nomefile LIKE '%nomefoto.jpg'

    il % sta ad indicare qualunque cosa prima di.. anche se forse arrivo tardi visto che è quasi un mese che hai scritto
    Lostgames Abandonware - Il sito dei giochi dimenticati
    http://www.lostgames.net

+ Rispondi

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi