Foros del Web » Programando para Internet » PHP »

por que no me acepta el tabulador?

Estas en el tema de por que no me acepta el tabulador? en el foro de PHP en Foros del Web. Hola Maestros: quisiera saber que hago mal aqui ya que deseo mostrar la variable $cadena2 separada con tabuladores pero al desplegarla en mi formulario no ...
  #1 (permalink)  
Antiguo 04/12/2002, 16:48
Avatar de payo22  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 839
Antigüedad: 21 años, 5 meses
Puntos: 1
por que no me acepta el tabulador?

Hola Maestros:

quisiera saber que hago mal aqui ya que deseo mostrar la variable $cadena2 separada con tabuladores pero al desplegarla en mi formulario no lo hace lo muestra como espacios:


<?php
$tabla = $mensaje.$estacion;
$nombre = date("YmdHis",time());
$cadena2 = "";
$x = "";
$NivOblig = array (1000,925,850,700,500,400,300,250,200,150,100);
//Arreglo de Niveles obligatorios.
$link = mysql_connect("localhost","root","admin");
mysql_select_db("RADIOSONDEO",$link);
foreach($NivOblig as $valor){
$sql = "SELECT Estacion,Fecha,PS,PP,HGT,TT,TD,DD,FF from $tabla where DAYOFMONTH(Fecha) BETWEEN $bdy AND $edy AND MONTH(Fecha) IN ($bmo,$emo) AND YEAR(Fecha) BETWEEN $byr and $eyr AND HOUR(Fecha) IN ($bhr,$ehr) and PP = $valor";
$result = mysql_query($sql,$link);
$archivo = fopen("ARCHIVOS_DESCARGA/".$nombre.".txt","a");
do{
$fecha = split('[- :]',$row[Fecha]);
for ($i=0;$i<=3;$i++) {
$x = $x.$fecha[$i];
}

$cadena2 = $cadena2.$row[Estacion]."\t".$x."\t".$row[PS]."\t".$row[PP]."\t".$row[HGT]."\t".$row[TT]."\t".$row[TD]."\t".$row[DD]."\t".$row[FF]."<br>\n";
$x = "";

}while($row = mysql_fetch_array($result));
fputs($archivo,$cadena);
fclose($archivo);
}
echo "$cadena2";
$cadena = "";
$cadena2 = "";
echo "<p><a href = ARCHIVOS_DESCARGA/".$nombre.".txt>Descargar Consulta a Archivo</a></p>";
echo "<p><a href = formulario_rad.html>Volver</p> \n";
?>

aqui me muestra $cadena2 pero no con tabulaciones.

espero me puedan ayudar.

gracias a todos
  #2 (permalink)  
Antiguo 04/12/2002, 19:25
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Al igual que como ya sabras un salto de linea para un Fichero de texto plano .. o para enviar un e-mail es el \n .. para mostrar un salto de linea en el navegador haz de usar HTML .. y el salto de liena en HTML es el tag <br> ..

aquí por ejemplo estas usando ambos:

$cadena2 = $cadena2.$row[Estacion]."\t".$x."\t".$row[PS]."\t".$row[PP]."\t".$row[HGT]."\t".$row[TT]."\t".$row[TD]."\t".$row[DD]."\t".$row[FF]."<br>\n";


eso no seria correcto .. es decir .. si como asi lo haces .. vas a guardar esa informacion en un fichero de texto plano .. ahi solo tienes q guardarlo como \n .. y a la hora de hacer tu "echo" de $cadena2 para mostrarlo en un navegador en HTML .. deberias usar la funcion:

$cadena2=nl2br($cadena2); .. para que te cambie los \n salto de linea para fichero de texto plano en <br> salto de linea HTML ...

Lo mismo sucede con el \t .. en un fichero de texto plano ahi lo veras .. en HTML no veras nada ..

En HTML el tag de tabulador es <tab> ...

Deja como tienes tu $cadena2 para guardar en tu fichero de texto plano los \t (codigo de tabulador ..) y si quieres mostrar a su vez esa $cadena2 en HTLM .. susituye los \t por <tab> y los \n por <br>:

Código PHP:
$cadena2=nl2br($cadena2);
$cadena2=str_replace("\t","<tab>",$cadena2);

echo 
$cadena2
Un saludo,
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




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