- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- if campo db vuoto then ...??
-
if campo db vuoto then ...??
ciao a tutti,
sto realizzando sito in cui è presente una pagina eventi.asp che si popola prendendo dati preventivamente caricati su db access da altra pagina asp.la pagina carica i seguenti dati:
- data evento
- titolo
- descrizione
- 3 immagini
- 2 allegati (zip, doc, pdf)
le img e gli allegati vengono uploadati salvandone il percorso nel campo del db: public/eventi/nomefile.est
è possibile che non ci siano allegati da caricare per un certo evento e quindi vorrei capire come poter fare un controllo come da esempio:
se il campo è vuoto
allora
non scrivi niente nella pagina
altrimenti
scrivi il link al filequindi vorrei linkare il nome del file es. nomefile.pdf al percorso in cui è stato caricato sul server sito.it/public/eventi/nomefile.pdf e vorrei che sulla pagina si vedesse solamente il nome del file.
spero di essere stato abbastanza chiaro.
grazie a tutti.
-
Dovrebbe essere una cosa di questo tipo:
if rs("nomecampo")<>"" then response.write '<a href="DOMINIO/public/' & rs("nomefile") & '">nome link</a>'
-
scrivendolo in questo modo mi da errore di Sintax Error
sapreste indicarmi la sintassi corretta? Credo sia una questione di parentesi e apici...
-
dunque, sono riuscito a scrivere la sintassi corretta ma non ho del tutto risolto la questione.
<% if rs("immg3")<>"" then response.write ("<a href=public"&rs("immg3")&">allegato</a>") %>
il codice in sostanza mi scrive il link se trova qualcosa nel campo del db e va bene.
Mi manca però la parte di codice che gestisce il campo vuoto ovvero:
se il campo è vuoto non devi scrivere niente. Invece così mi mette ugualmente il link ma ovviamente ad un file che non c'è.
-
Beh rs("immg3")<>"" controlla che il campo sia vuoto, quindi se è vuoto non dovrebbe scrivere il link.
-
quindi come mai me lo scrive ugualmente?
mi mette un link del genere: miosito.it/public/eventi
-
Non lo so, prova a vedere cosa c'è dentro
-
ok, ho capito dove sta l'errore....
in pratica nel form di upload ho 5 campi: se ad esempio lascio vuoto il campo dell'allegato sul campo del db mi viene comunque salvato il percorso /eventi/ senza nome del file. Di conseguenza la pagina asp che controlla se quel campo è vuoto lo trova "Pieno" e semplicemente linka "/eventi/".
Ora, ho utilizzato l'upload di Baol e non pretendo che chi legge lo debba per forza conoscere. Dunque cerco di domandare il domandabile: esiste una funzione che mi consenta di fare un controllo preventivo su un campo di upload dicendo allo script che se in quel campo non viene caricato alcun file allora non scrivere nulla sul campo del db (nemmeno il percorso della cartella)???
-
Se esiste nello script non lo so, ma si può fare di sicuro.
-
sapresti indicarmi uno script che possa fare ciò che ho descritto prima?
considerando che lo script che passa i dati per l'aggiornamento del record è il seguente:
<% If Request.QueryString("Save")="1" then Dim oUpload Set oUpload = new cUpload oUpload.AutoRename = True oUpload.Overwrite = False oUpload.SetPath "/public/eventi/" 'Impostazione del PERCORSO della cartella delle IMMAGINI oUpload.Load While Not oUpload.EOF oUpload.Save() Select Case lCase(oUpload.Files("InputName")) Case "immg1" FileName_immg1 = oUpload.GetFileName() Case "immg2" FileName_immg2 = oUpload.GetFileName() Case "immg3" FileName_Immg3 = oUpload.GetFileName() Case "immg4" FileName_Immg4 = oUpload.GetFileName() Case "immg5" FileName_Immg5 = oUpload.GetFileName() End Select oUpload.MoveNext Wend Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../mdb-database/db.mdb") Set Rs=server.CreateObject("ADODB.Recordset") Rs.Open "SELECT Top 1 * FROM eventi",Conn,3,3 Rs.AddNew Rs("periodo") = oUpload.Form("periodo") Rs("titolo") = oUpload.Form("titolo") Rs("FCKeditor1") = oUpload.Form("FCKeditor1") Rs("immg1") = RB_VDIR & "/eventi/" & FileName_immg1 Rs("immg2") = RB_VDIR & "/eventi/" & FileName_immg2 Rs("immg3") = RB_VDIR & "/eventi/" & FileName_Immg3 Rs("immg4") = RB_VDIR & "/eventi/" & FileName_Immg4 Rs("immg5") = RB_VDIR & "/eventi/" & FileName_Immg5 Rs.update Rs.Close Conn.Close Set Rs = Nothing Set Conn=Nothing Set oUpload = Nothing End if %>
eventualmente grazie
-
Prima di ogni
Rs("immg1") = RB_VDIR & "/eventi/" & FileName_immg1
Puoi controllare se FileName_immg1 <> ""
-
grande cali, come al solito le tue dritte funzionano al primo colpo...
ascolta? per caso mastichi anche del javascript? Ho postato un thread ma non ho ancora trovato nessuno che mi possa aiutare.
Come sempre, se hai tempo e voglia di darci un'occhiata ti ringrazio in anticipo.
saluti e grazie ancora per il preziosissimo aiuto.