Foros del Web » Programando para Internet » PHP »

PHP Salto de Línea, MySQL y RTF

Estas en el tema de PHP Salto de Línea, MySQL y RTF en el foro de PHP en Foros del Web. nl2br() Cordial Saludo: Estoy escribiendo en una base de Datos MySQL, lo capturado por la entrada de un formulario: Código PHP:          print( "<textarea name=ValueField type= textarea cols=100 rows=1>$ValueField</textarea>" );  ...
  #1 (permalink)  
Antiguo 29/06/2007, 20:41
 
Fecha de Ingreso: febrero-2007
Ubicación: Barranquilla, Colombia
Mensajes: 181
Antigüedad: 19 años, 8 meses
Puntos: 3
PHP Salto de Línea, MySQL y RTF

nl2br()

Cordial Saludo:

Estoy escribiendo en una base de Datos MySQL, lo capturado por la entrada de un formulario:
Código PHP:
        print("<textarea name=ValueField type= textarea cols=100 rows=1>$ValueField</textarea>"); 
Cómo Guardamos en MySQL?
Código PHP:
        $ValueField = $_POST['ValueField'];
        
$Inserting = "INSERT INTO MySQLTable VALUES(";
        
$Inserting = "$Inserting'$ValueField');";
        
$MyStatement = mysql_query($Inserting); 
Posteriormente Creamos archivos según consultas:
Código PHP:
        $Definitions = mysql_query("SELECT MySQLTableField FROM MySQLTable;");
        
$rowDef = mysql_fetch_array($Definitions);
        
$sValueField = "$rowDef[MySQLTableField];
        $MyFile = "
LocationOfFile";
        $MyFileHand = fopen($MyFile, 'w');
        fwrite($MyFileHand, $sValueField); 
Después de lo anterior:
En el Caso de que ValueField sea igual a:
"
Linea 1
Linea 2
Linea 3"
Necesito que el Archivo llamado "LocationOfFile" Contenga el texto tal cual como se digitó, si vemos son varias Líneas...

Los sistemas operativos son indiferentes, es decir, necesito que funcione para Windows, como para Linux
Gracias.
__________________
Jose Luis Bernal Zambrano
Please response to:
[email protected]

Última edición por joseluisbz; 02/07/2007 a las 12:10
  #2 (permalink)  
Antiguo 30/06/2007, 13:08
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: PHP Salto de Línea, MySQL y RTF

Oye, y ¿cómo se supone que tendrás un texto en varias líneas si lo estás trayendo desde un campo input?
En cualquier caso, para que eso se pueda hacer necesitás un campo textarea.

Además, si el campo es textarea los saltos de línea se guardan tal cual fueron escritos, pero obviamente en HTML no se muestran porque un salto de línea en HTML solo se logra con <br>, y para eso está nl2br, que agrega un <br> antes de los saltos de línea (no los sustituye)

No me queda claro qué es lo que necesitás hacer o lo que te causa problemas, ya parece que tenés todo el código necesario...


Saludos.
  #3 (permalink)  
Antiguo 30/06/2007, 13:11
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 21 años, 4 meses
Puntos: 23
Re: PHP Salto de Línea, MySQL y RTF

Saludos, concuerdo con lo que dice nuestro compañero, para hacer un salto de línea tendrás que hacer un campo textarea... por ejemeplo:
Código:
<?php
print("ValueField: <textarea name='ValueField' rows='5' cols='15'></textarea>");  
$valuefield = nl2br($valuefield);##genera el salto de linea, si es q lo hay
?>
En realidad te puse el ejemplo para dejartelo más claro, pero por lo visto, calculo que sabes como se hacía eso...
Suerte
  #4 (permalink)  
Antiguo 02/07/2007, 12:07
 
Fecha de Ingreso: febrero-2007
Ubicación: Barranquilla, Colombia
Mensajes: 181
Antigüedad: 19 años, 8 meses
Puntos: 3
Si hubo error al plantear la pregunta, no es input es textarea.

Código PHP:
<?php

$ThisFileName 
= "TextArea.php";

$ValueField = $_POST['ValueField'];

$SinSalto = $ValueField;
$ConSalto = str_replace("\n", "<br>", $ValueField);
print(
"</form><P>\n");

print(
"<form action=\"$ThisFileName\" method=post>");
print(
"<textarea name=ValueField type= textarea cols=100 rows=3>$ValueField</textarea>");
print(
"$SinSalto<P>");
print(
"$ConSalto<P>");

print(
"<input type=submit name=TextArea value=\"TextArea\"> <P>\n");
print(
"</form><P>\n");


$MyFile = "/home/Compartido/TextArea.php.txt";
$MyFileHand = fopen($MyFile, "w");

fwrite($MyFileHand, "SinSalto\n$SinSalto\n");
fwrite($MyFileHand, "ConSalto\n$ConSalto\n");
fclose($MyFileHand);
?>
__________________
Jose Luis Bernal Zambrano
Please response to:
[email protected]

Última edición por GatorV; 02/07/2007 a las 19:04
  #5 (permalink)  
Antiguo 03/07/2007, 11:20
 
Fecha de Ingreso: febrero-2007
Ubicación: Barranquilla, Colombia
Mensajes: 181
Antigüedad: 19 años, 8 meses
Puntos: 3
Re: PHP Salto de Línea, MySQL y RTF

Código PHP:
CREATE DATABASE MySQLDataBase;
USE 
MySQLDataBase;
CREATE TABLE InnoDBTable ( 
    
SinSaltoField VARCHAR(400),
    
ConSaltoField VARCHAR(400)
) 
ENGINE = INNODB  DEFAULT CHARSET = utf8;

GRANT SELECT, INSERT, UPDATE, DELETE ON MySQLDataBase.* TO NombreUsuario@localhost IDENTIFIED BY 'Clave'; 
__________________
Jose Luis Bernal Zambrano
Please response to:
[email protected]
  #6 (permalink)  
Antiguo 04/07/2007, 12:51
 
Fecha de Ingreso: febrero-2007
Ubicación: Barranquilla, Colombia
Mensajes: 181
Antigüedad: 19 años, 8 meses
Puntos: 3
Re: PHP Salto de Línea, MySQL y RTF

Código PHP:
<?php

$ThisFileName 
= "TextArea.php";

$ValueField = $_POST['ValueField'];

$DBSinSalto = "";
$DBConSalto = "";
$SinSalto = $ValueField;
$ConSalto = str_replace("\n", "<br>", $ValueField);
print(
"</form><P>\n");

print(
"<form action=\"$ThisFileName\" method=post>");
print(
"<textarea name=ValueField type= textarea cols=100 rows=3>$ValueField</textarea><P>");
print(
"$SinSalto<P>");
print(
"$ConSalto<P>");

print(
"<input type=submit name=TextArea value=\"TextArea\"> <P>\n");
print(
"</form><P>\n");

$MyConnection = mysql_connect("localhost","NombreUsuario","Clave") or die (mysql_error());
$MyDBSelected = mysql_select_db("MySQLDataBase", $MyConnection) or die (mysql_error());

    
$Inserting = "INSERT INTO InnoDBTable VALUES(";
    
$Inserting = "$Inserting'$SinSalto',";
    
$Inserting = "$Inserting'$ConSalto');";
    print(
"$Inserting<P>");

    
$Definitions = mysql_query($Inserting, $MyConnection) or die (mysql_error());

    
$Definitions = mysql_query("SELECT SinSaltoField, ConSaltoField FROM InnoDBTable;", $MyConnection) or die (mysql_error());
    if(
$row = mysql_fetch_array($Definitions))
    {
        
$SinSalto = $row[SinSaltoField];
        
$ConSalto = $row[ConSaltoField];
        
$DBSinSalto = $row[SinSaltoField];
        
$DBConSalto = $row[ConSaltoField];

        print(
"Lectura DB: <P>");

        print(
"$SinSalto<P>");
        print(
"$ConSalto<P>");
        print(
"$DBSinSalto<P>");
        print(
"$DBConSalto<P>");
    }
    
$Definitions = mysql_query("DELETE FROM InnoDBTable;", $MyConnection) or die (mysql_error());


$MyFile = "/home/Compartido/TextArea.php.txt";
$MyFileHand = fopen($MyFile, "w");

fwrite($MyFileHand, "SinSalto\n$SinSalto\n");
fwrite($MyFileHand, "ConSalto\n$ConSalto\n");
fwrite($MyFileHand, "DBSinSalto\n$DBSinSalto\n");
fwrite($MyFileHand, "DBConSalto\n$DBConSalto\n");
fclose($MyFileHand);
?>
__________________
Jose Luis Bernal Zambrano
Please response to:
[email protected]
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 12:17.