Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   Problemas con salto de linea (https://www.clubdelphi.com/foros/showthread.php?t=39256)

cirilungol 15-01-2007 14:07:29

Problemas con salto de linea
 
Buenas a todos.

Tengo un pequeño problema con PHP y Mysql.

Cuando guardo un registro que contiene varios saltos de linea (para escribir varias lineas), me inserta otro mas osease que me hace algo parecido a esto:

Cita:

Esto es una prueba.

Así que no le hagas caso
cuando tendría que ser de la siguiente manera:
Cita:

Esto es una prueba.
Así que no le hagas caso
podríais ayudarme.

Gracias.

Ñuño Martínez 15-01-2007 14:41:23

Tal vez sea mejor que pongas algo de código, para ver qué haces exactamente.

cirilungol 15-01-2007 15:30:47

es muy sencillo
 
Es algo muy sencillo.

Me explicare. Desde un input pongo un texto como he explicado arriba.
le doy a guardar se hace un insert, pero cuando lo vuelvo a mostrar mediante una select, me ha añadido un salto de linea por cada (intro o Return) que le he hecho.

el ejemplo de antes
Cita:

1Linea (pulso return)
2Linea
lo guardo y cuando lo devuelve me muestra
Cita:

1Linea

2Linea
¿como puedo morstrarlo talcual lo he guardado?

Ñuño Martínez 15-01-2007 16:54:17

Tal vez sea por que el control devuelve una cadena "\n\r" (salto de línea+retorno de carro), que es lo normal en Windows, y que tu base de datos o tu intérprete PHP lo interprete como dos saltos de línea seguidos "\n\n" (Los sistemas POSIX sólo necesitan un salto de línea "\n").

Es decir, tu introduces "Esto es una prueba.\n\rAsí que no le hagas caso" pero e PHP o MySQL entiende "Esto es una prueba.\n\nAsí que no le hagas caso" y, cuando haces la consulta, te devuelve "Esto es una prueba.\n\r\n\rAsí que no le hagas caso". O eso creo.

No sé si cambiando la configuración bien de PHP bien de MySQL podrá arreglarse, pero es lo único que se me ocurre.

¿En qué sistema operativo estás trabajando? ¿Y cual es el código fuente PHP que hace la consulta?

kayetano 15-01-2007 18:52:09

Hola

Cita:

Empezado por Ñuño Martínez
Tal vez sea mejor que pongas algo de código, para ver qué haces exactamente.

Yo también pienso que deberías mostrar algo de código, al menos como guardas los datos.

También estoy de acuerdo con Ñuño en que, si lo haces todo bien, debe ser cosa de configuración relacionado con el juego de caracteres con el que trabaja PHP y/o MySQL.

cirilungol 15-01-2007 19:54:48

Ok Una de codigo
 
Hola de nuevo.

Para insertar hago lo siguiente:

Código PHP:

$result mysql_query('insert into catalogo (cod_categoria,cod_linea,cag_tipo,cag_descripcion) 
                               values('
.$_POST["codCat"].','.$_POST["codLin"].',"'.$_POST["cagTipo"].'","'.$_POST["cagDesc"].'")'); 


y previamente lo cargo desde

Código PHP:

<tr>
      <td  class="PythonFieldCaptionTD" valign="top">Descrip. *</td>
      <td class="PythonDataTD"><textarea class="PythonTextarea" name="cagDesc" <? if ($accion=="M") echo 'value="'.html_entity_decode($cagDesc).'"'?> rows="10" cols="50"><? if ($accion=="M") echo html_entity_decode($cagDesc); ?></textarea>&nbsp;</td>
</tr>

despues creo un xml. con la consulta tipica

Código PHP:

while($row=mysql_fetch_array($result)){
            
$salida.="\t<pic>\n";
            
$salida.="\t\t<mini>catalogos/images/mini/".html_entity_decode($row[fot_nombre])."</mini>\n";
            
$salida.="\t\t<image>catalogos/images/".html_entity_decode($row[fot_nombre])."</image>\n";
            
$salida.="\t\t<caption>".$row[fot_nombre]."</caption>\n";
            
$salida.="\t\t<caption>".html_entity_decode($row[cag_descripcion])."</caption>\n";
            
$salida.="\t</pic>\n";



pero he de añadir que $row[cag_descripcion] me devuelve las lineas con susodicha separación.

Me cuelgan de un arbol y no me muero del ansia.

gracias por contestar.

cirilungol 16-01-2007 11:02:26

Mas información
 
Voy a dar mas información, a ver si lo podemos sacar.

Creo un xml a partir de una consulta y el resultado en el xml es el siguiente

Cita:

<caption>Tenemos 5 modelos a su disposición:
- Recta ch. de 35 c/base.
- Recta ch. con clip de 35 c/base.
- Obe intermat acodada base reg. De 35
- Superacodada ch. de 35 c/base.
- Acodada ch. de 35 c/base.</caption>
y cuando lo leo en el flash me sale con las lineas separadas, de la siguiente manera.

Cita:

Tenemos 5 modelos a su disposición:

- Recta ch. de 35 c/base.

- Recta ch. con clip de 35 c/base.

- Obe intermat acodada base reg. De 35

- Superacodada ch. de 35 c/base.

- Acodada ch. de 35 c/base.
Espero que esto pueda ser mas aclarativo

kayetano 16-01-2007 11:49:18

Hola

Entonces está claro que el problema es FLASH, lo que tienes que hacer ahora es buscar información sobre como trata FLASH el retorno de carro porque es posible que "\n\r" lo considere como dos retornos de carro.

kayetano 16-01-2007 14:43:47

Hola de nuevo

Resulta que estoy intentando hacer un catálogo en CD utilizando XML y FLASH y me he encontrado con esto
Cita:

System.useCodepage = true;
XML.prototype.ignoreWhite = true;

Con la primera línea le indicamos a Flash el sistema de códigos que debe emplear para no tener problemas con las tildes y otros caracteres especiales. En la segunda línea le indicamos que no interprete los saltos de línea de todos los futuros documentos XML como nodos vacíos.
Igual es la causa de tus problemas.

cirilungol 16-01-2007 15:17:05

Muchas gracias por contestar
 
No se si he puesto esos codigos que me has mandado, en cuanto tenga el momento lo revisaré y te dire que tal me ha ido.


graicaso por tomarte las molestias de leer y contestar.


Saludos.


La franja horaria es GMT +2. Ahora son las 18:48:06.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi