Visualizzazione risultati 1 fino 6 di 6
Like Tree1Likes
  • 1 Post By darbula

Discussione: Echo dopo una query di SELECT

  1. #1
    Guest

    Predefinito Echo dopo una query di SELECT

    Salve a Tutti,
    Avrei bisogno di una informazione...

    io ho una pagina del mio sito che prende i dati da alcune colonne del db e fa una echo di questi.
    Il mio problema è che per fare ciò sul db ho bisogno di scrivere in "sorgente".
    C'è un modo grazie al quale la echo venga effettuata esattamente com'è scritta nel db? (mantenendo gli "a capo", le lettere accentate etc.)

  2. #2
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Cosa intendi con "in sorgente"?

    Ad ogni modo la stampa è già effettuata esattamente come scritta nella base di dati, probabilmente tu hai il problema opposto: nella base di dati sono presenti caratteri newline (in parole povere, "\n") e tu vuoi trasformarli nei tag break row di HTML. Una possibilità è nl2br. htmlspecialchars svolge una funzione analoga con i caratteri speciali.

  3. #3
    Guest

    Predefinito

    mi spiego io nel server attualmente ho la voce
    "La mela &eacute; rossa.<br>La pera &eacute; buona"

    Questo io lo voglio evitare scrivendo direttamente
    "La mela è rossa.
    La pera è gialla"

    Cioè non scrivendolo in HTML ma già in carattere compilato...

    e vorrei che le pagine dopo lo riuscissero a scrivere esattamente com'è scritto..quindi con accenti e a capo vari

  4. #4
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Capisco, quando inserisci le stringhe nella base di dati usi delle funzioni (come htmlentities) per convertire caratteri speciali (ad esempio accentati) in entities HTML (ad esempio &eacute;)? Se sì, puoi valutare di non utilizzare queste funzioni in modo che nella base di dati vengano inserite le stringe senza "conversione in HTML".

    Per la stampa in pagine HTML dovrai poi usare funzioni come quelle citate sopra per la conversione.

    Implicitamente ho assunto che nella base di dati vengano inserite stringhe provenienti da un form, quindi che queste siano già con "caratteri compilati". Se così non è, devi prima effettuarne la conversione.

  5. #5
    Guest

    Predefinito

    si esattamente...le righe vengono inserite nel db da una pagina php con una query di questo tipo
    Codice PHP:
    $query = "INSERT INTO tabella (colona, colona, colona, colona, colona) VALUES ('".$variabile."','".$variabile."', '".$variabile."', '".$variabile."', 'variabile')";

  6. #6
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,898

    Predefinito

    li stai solo inserendo i dati (che possono essere originali o alterati da qualche funzione prima). prima di questo passo recuperi i dati da una pagina php con metodo POST? Se è si stai usando htmlentities? Bada bene poiché un sorgente in genere non è che un semplice file.txt che può essere di qualsiasi codifica, se ad esempio hai la stringa con codifica utf-8 ps.senza header opportunamente configurato
    Codice PHP:
    header('Content-Type: text/html; charset=UTF-8');
    potrebbe essere visualizzata in modo errato in una pagina text/html con charset ISO-8859-1 che in questo e altri server è il default.:
    Codice PHP:
    echo 'un chilo di mele è a 2€'."\n".'un chilo di pere è a 3€';
    Devi accertarti di scrivere/salvare in php, inserire nel database nonché recuperarlo, mostrare in una pagina..tutto deve essere in utf-8. Mettendo che tutto sia corretto tu dovrai visualizzare il contenuto in formato text/plain e non text/html perché altrimenti non vedi i caratteri di marcatura "<" e ">" (perché sappiamo tutti cos'è un file html!) e allora quel \n lo vedrai altrimenti per html vedrai tutto attaccato perché \n non viene interpretato come new line ma è presente nel sorgente. Oppure metodo due: visualizza la pagina in text/html ricordandoti di convertire la stringa con htmlentities e dopo di convertire il carattere \n con <br> (funzione nl2br).
    Ultima modifica di darbula : 07-02-2016 alle ore 00.11.31
    mzanella likes this.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •