Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    varchar - aiuto per stampa -

    ciao a tutti, probabilmente ne è stato già discusso cmq, causa ricerca disabilitata posto il probl:

    in una tabella ho un campo varchar che contiene testo di questo tipo:

    -bla bla bla "altro testo" altro testo ancora-

    recupero il contenuto di queto campo, ma la stampa si ferma al primo "

    cioè stampa solo: -bla bla bla

    come posso fare per stampare tutto il contenuto del campo comprese le ""

    grazie per l'help
    aquatimer2000

  2. #2
    Sei certo che nel db ci sia ancora il resto?

    Di solito il taglio avviene nel momento dell'inserimento se non vengono parsati con un carattere di escape i caratteri di controllo tipo ' \ " .

    Oppure dovresti vedere come viene "circoscritta" la stringa che stampi. Es.:

    echo "-bla bla bla "altro testo" altro testo ancora-";

    L'incontro della seconda virgoletta chiude la stringa. e la stringa diventa echo "-bla bla bla ". Pero' se gli errori fossero abilitati dovrebbe segnalare un errore di parser.

    Prova ad ovviare o con l'uso delle apici singole come delimitatore esterno, oppure con il carattere di escape prima dei doppi apici interni.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    [supersaibal]Originariamente inviato da piero.mac
    Sei certo che nel db ci sia ancora il resto?[/supersaibal]
    Si sono certo!!

    in effetti non so come sono stati inseriti perchè i dati non li ho inseriti io..

    Comunque ci sono, tramite phpmyadmin si vedono perfettamente.



    Ciao
    aquatimer2000

  4. #4
    [supersaibal]Originariamente inviato da piero.mac Prova ad ovviare o con l'uso delle apici singole come delimitatore esterno, oppure con il carattere di escape prima dei doppi apici interni. [/supersaibal]
    umh... problemino..

    io recupero i dati da questo campo tramite query..
    il codice per stampare è il seguente:

    codice:
    print"$row[campo_varchar]";
    come faccio ad inserire gli apici singoli come delimitatore esterno.. otterrei un errore no?!?
    aquatimer2000

  5. #5
    codice:
    $row["campo_varchar1"] = 'ciao da questo "bell\\'affare" - ciao';
    $row["campo_varchar2"] = "ciao da questo \"bell'affare\" - ciao";
    
    print $row['campo_varchar1']."
    ";
    print "$row[campo_varchar1]
    ";
    print "{$row['campo_varchar1']}
    ";
    print $row['campo_varchar2']."
    ";
    print "$row[campo_varchar2]
    ";
    print "{$row['campo_varchar2']}
    ";
    se provi son tutti equivalenti.

    Piuttosto il problema potrebbe essere se invece vai ad inserire questo codice in un form. Facciamo finta che lo inserisci come VALUE in un tag INPUT:
    codice:
    <input type="text" name="pippo" value="<?php print $row['campo_varchar2'] ?>" >
    In questo caso ti viene troncato perche' il primo doppio apice che incontra chiude la stringa del VALUE ed il resto viene omesso.

    Bisognerebbe valutare la stringa e provare. Sicuramente non sono ammessi entrambi i delimitatori " e ' all'interno della stringa come in questo suddetto esempio .

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    [supersaibal][B]..piuttosto il problema potrebbe essere se invece vai ad inserire questo codice in un form. Facciamo finta che lo inserisci come VALUE in un tag INPUT:
    codice:
    <input type="text" name="pippo" value="<?php print $row['campo_varchar2'] ?>" >
    In questo caso ti viene troncato perche' il primo doppio apice che incontra chiude la stringa del VALUE ed il resto viene omesso.

    Bisognerebbe valutare la stringa e provare. Sicuramente non sono ammessi entrambi i delimitatori " e ' all'interno della stringa come in questo suddetto esempio . [/supersaibal]
    .. che 6 un chiaroveggente ?!?

    che che sono!!
    mi ero dimenticato di dirti che il valore che recupero dalla query lo inserisco come value in un input type=text !! VVoVe:

    quindi da quanto hai scritto sia " che ' non possono essere inseriti come valori in value.

    C'è qualche modo per poterli sostituire?!?

    qualche combinazione di lettere ecc. tipo per < >...

    aquatimer2000

  7. #7
    [supersaibal]Originariamente inviato da aquatimer2000
    .. che 6 un chiaroveggente ?!?

    che che sono!!
    mi ero dimenticato di dirti che il valore che recupero dalla query lo inserisco come value in un input type=text !! VVoVe:

    quindi da quanto hai scritto sia " che ' non possono essere inseriti come valori in value.

    C'è qualche modo per poterli sostituire?!?

    qualche combinazione di lettere ecc. tipo per < >...

    [/supersaibal]
    Attenzione...

    Non possono essere inseriti entrambi i tipi, ma quello inserito "deve" essere diverso da quelli che lo contengono. Esempio:
    codice:
    <?php
    $row['campo_varchar1'] = 'ciao da questo "affare" - ciao';
    $row['campo_varchar2'] = "ciao da questo 'affare' - ciao";
    ?>
    <input type="text" name="pippo" value='<?php print $row['campo_varchar1']  ?>' >
    <input type="text" name="pippo" value="<?php print $row['campo_varchar2']  ?>" >
    ?>
    Come puoi provare funzionano entrambi. Presta attenzione come sono utilizzati gli apici. Quello che non puo' funzionare in un form e' la presenza "contemporanea" all'interno della stringa di "entrambi" i tipi di apici, mentre in una normale stampa si.

    Per esempio la stringa:
    $var = "ciao all'amore \"eterno\" ";

    Non c'e' santo di farla andare in un value... Perche' il value deve essere racchiuso a sua volta da apici singole o doppie che siano altrimenti si fermerebbe al primo spazio trovato e andrebbe in conflitto o con un tipo oppure con l'altro di apice utilizzato.

    Ma questa e' roba da html e le mie lacune sono purtroppo abissali in merito.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    [supersaibal]Originariamente inviato da piero.mac
    codice:
    <?php
    $row['campo_varchar1'] = 'ciao da questo "affare" - ciao';
    $row['campo_varchar2'] = "ciao da questo 'affare' - ciao";
    ?>
    <input type="text" name="pippo" value='<?php print $row['campo_varchar1']  ?>' >
    <input type="text" name="pippo" value="<?php print $row['campo_varchar2']  ?>" >
    ?>
    ........

    $var = "ciao all'amore \"eterno\" ";

    Non c'e' santo di farla andare in un value...[/supersaibal]
    Perfetto, 6 stato chiarissimo!!

    Ciao piero.mac , grazie mille per l'aiuto!!
    aquatimer2000

  9. #9
    Codice PHP:
    <?php
    $row
    ['campo_varchar1'] = 'ciao da questo "affare" - ciao';
    $row['campo_varchar2'] = "ciao da questo 'affare' - ciao";
    ?>
    <input type="text" name="pippo" value='<?php print htmlentities($row['campo_varchar1'])  ?>' >
    <input type="text" name="pippo" value="<?php print htmlentities($row['campo_varchar2'])  ?>" >
    ?>

  10. #10
    Vero esiste anche htmlentities....


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.