Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Variabili nei messaggi

  1. #1

    Variabili nei messaggi

    Ciao a tutti, devo provi un quesito che mi sta facendo impazzire da qualche giorno.
    Io ho un sito che contiene delle "sue variabili" i cui valori sono estratti da database (es.: titolo = rs("titolo"), ovvero titolo = "ciao"). Ci sono dei casi in cui il sito deve essere chiuso per manutenzione e nel testo delle motivazioni deve essere scritta una delle variabili del sito.
    Vorrei che quando il record del database che rappresenta le motivazioni fosse per esempio "Il sito <var>titolo</var> è chiuso per prova." (dove <var> e </var> sono inventati da me), nel stamparla a video diventasse "Il sito ciao è stato chiuso per prova.".
    Avete capito o mi devo spiegare meglio? Spero di ottenere risposta.
    Ringrazio anticipatamente.

  2. #2
    codice:
    il sito <%=tuavariabile%> è chiuso per prova
    Purtroppo bisogna imparare che il computer non sbaglia...fa solo quello che gli dici di fare

    www.netpolaris.it

  3. #3
    No, forse non ci siamo capiti... !
    C'è un database che contiene le motivazioni della chiusura con il seguente testo: "Sito <var>titolo</var> chiuso per prova."
    C'è una pagina (motivazioni.asp) che raccoglie queste informazioni dal database e le stampa...
    codice:
    Dim sql, mot, rs
    sql = "SELECT Motivazione FROM Chiusura;"
    set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open conn, sql
    mot = rs("Motivazione")
    Response.write mot
    rs.Close
    set rs = Nothing
    Vorrei che l'output dello script fosse "Sito titolosito chiuso per prova."
    Quello che mi suggerisci tu è sbagliato. Secondo me la soluzione è quella di utilizzare funzioni come Replace, Split o simili, solo che non so come si fa!

  4. #4
    se il pezzo da sostituire è sempre lo stesso (cioè <var>titolo</var>) puoi fare così:

    codice:
    stringaCampione="Sito <var>titolo</var> chiuso per prova."
    
    replace(stringaCampione,"<var>titolo</var>",tuavariabile)
    Purtroppo bisogna imparare che il computer non sbaglia...fa solo quello che gli dici di fare

    www.netpolaris.it

  5. #5
    Ho capito, ma questo sistema è molto limitato.
    Mettiamo che dentro il messaggio voglia metterci un'altra variabile, oppure altre due... oppure cento!
    Ogni volta che la stringa delle motivazioni contiene <var> e </var> la pagina deve stampare a video il contenuto della variabile che ha come nome il contenuto fra <var> e </var>.
    Per esempio: "Adesso solo le ore <var>now</var>, tu ti chiamo <var>utente</var>." Chi lo sa che sono queste le variabili? Il replace che mi hai scritto tu da per scontato che l'unica variabile da stampare è il titolo. Invece desidero un processo che ogni volta che trova <var> prende il nome della variabile tra <var> e </var>, va a ricercarne il contenuto e lo sostituisce a <var>variabile</var>. L'uso dei delimitatori <var> e </var> non è obbligatorio, può anche non esserci. Questo strumento vorrei utilizzarlo non solo per le motivazioni di chiusura, ma anche per tante altre cose!

  6. #6
    io risolvo (o almeno provo) il problema che posti...mica è colpa mia se ogni volta che rispondo ci aggiungi un altro pezzo...

    quello che dici è fattibile basta usare un ciclo, la funzione Instr e la funzione Replace
    Purtroppo bisogna imparare che il computer non sbaglia...fa solo quello che gli dici di fare

    www.netpolaris.it

  7. #7
    Sì scusa, hai ragione.
    Ma come faccio a far partire la sostituzione della stringa campione da "<var>" e a farla terminare a "</var>" con il contenuto della variabile richiamata tra <var> e </var>?

  8. #8
    codice:
    inizio = Instr(1,"<var>",tuastringa)
    fine = Instr(1,"</var>",tuastringa)
    
    tuavariabile = mid(tuastringa,inizio+5,fine-inizio+5)
    
    'qui ti trovi tutti i valori che vuoi
    
    tuastringa = replace(tuastringa,"<var>"&tuavariabile&"</var>",valoreNuovo)
    questo ti recupera solo il primo "tag", per recuperarlo in tutta la stringa devi fare un ciclo modificando il primo parametro della Instr (che è il punto da cui far partire la ricerca)

    non l'ho provato quindi non so se funziona bene...ma l'idea è quella
    Purtroppo bisogna imparare che il computer non sbaglia...fa solo quello che gli dici di fare

    www.netpolaris.it

  9. #9
    Molto bene, ci siamo quasi.
    Intanto grazie per l'aiuto datomi fino ad ora.
    Vorrei sapere una cosa: come faccio a sostituire il nome della variabile (recuperato nella variabile tuavariabile) con il contenuto della variabile "puntata" da tuavariabile?

  10. #10
    beh hai detto che lcose le recuperi i un database...non so dovrai fare una ricerca nel db con una select che collega il nome della variabile che recuperi in tuaVariabile con la variabile valoreNuovo
    Purtroppo bisogna imparare che il computer non sbaglia...fa solo quello che gli dici di fare

    www.netpolaris.it

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.