Foros del Web » Programando para Internet » PHP »

Formateo al guardar datos a un txt

Estas en el tema de Formateo al guardar datos a un txt en el foro de PHP en Foros del Web. hola nuevamente, tengo una consulta lo q pasa es que estoy haciendo un pequeño script que guarde los nombres de mis juegos, la cantidad de ...
  #1 (permalink)  
Antiguo 25/04/2007, 22:36
 
Fecha de Ingreso: abril-2007
Mensajes: 21
Antigüedad: 17 años
Puntos: 0
Formateo al guardar datos a un txt

hola nuevamente, tengo una consulta

lo q pasa es que estoy haciendo un pequeño script que guarde los nombres de mis juegos, la cantidad de cds o dvds y el idioma, lo q seria mas omenos asi:

codigo del form:

Código:
<body>
<form  action="administrarjuegos.php" method="post">
<table border="1" align="center">
<tr>
<td align="center" bgcolor="#999999"><font color="#FFFFFF">Nombre del Juego</font></td>
<td align="center"><input type="text" name="nomjuegos" size="30" maxlength="30" /></td>
</tr>
<tr>
<td align="center">Cantidad de CD's o DVD's</td>
<td align="left"><input type="text" name="cantidad" size="3" maxlength="3" /></td>
</tr>
<tr>
<td align="center" bgcolor="#999999"><font color="#FFFFFF">Idioma</font></td>
<td><input type="text" name="idioma" size="10" maxlength="10" /></td></tr>
<tr>
<td align="right"><button type="submit">enviar</button></td>
<td align="left"><button type="reset">borrar</button></td>
</tr>
</table>
</form>
</body>
</html>
y el php seria asi:

Código:
$muestra= "<table border=1><tr><th>Nombre del juego</th><th>Cantidad de Cds o Dvds</th><th>idioma</th></tr><tr><td>$nomjue</td><td>$cant</td><td>$idioma</td></tr></table>";


@ $variable=fopen("juego.txt" , "a");

@ flock($variable,2);

if(!$variable)
{
echo " <b>No se puede acceder al archivo</b>";
}
else
{
echo " <b>Operacion realizada con exito</b>";
}

fwrite($variable,"$salida");
flock($variable,3);
fclose($variable);

?>
El resultado de todo esto seria asi:

Nombre del juego| Cantidad de cds |Idioma
dato 1 dato2 dato3
Nombre del juego| Cantidad de cds |Idioma
dato 12 dato12 dato333

Como veran, se repite la cabecera cada vez q yo voy agregando los datos
y lo q me gustaria es q quedara asi:

Nombre del juego| Cantidad de cds |Idioma
dato 1 dato2 dato3
dato12 dato12 dato333
zzzzzz xxxxxxx 8888888

Eso, ojala alguien sepa
La idea no es usar base de datos por si acaso :)

saludos
  #2 (permalink)  
Antiguo 26/04/2007, 02:53
 
Fecha de Ingreso: abril-2006
Ubicación: Colombia
Mensajes: 648
Antigüedad: 18 años
Puntos: 3
Re: Formateo al guardar datos a un txt

Hola, bueno, pues yo creeria que hay alguna de estas opciones
1. abrir el archivo en modo de lectura y traer los datos del mismo, y recortar los datos en cadena, es decir, en una variable guardarias <table border=1><tr><th>Nombre del juego</th><th>Cantidad de Cds o Dvds</th><th>idioma</th></tr> que es el encabezado, en otra variable guardas los titulos que ya tienes en ese archivo y en otra </table> y ya teniendo estas variables te tocaria "limpiar" el archivo y volver a sobreescribir todos los datos mas los nuevos.

2. descartando la opcion 1, podrias hacer una variable en el formulario la cual pregunte a la persona cuantos titulos va a guardar y cuantos titulos sean este sera el valor que tendra tu variable $muestra la cual iria en un while o en un for donde se condicione al numero de elementos que pusiste para ingresar, es decir algo asi

Código PHP:
<?
$muestraini 
"<table border=1><tr><th>Nombre del juego</th><th>Cantidad de Cds o Dvds</th><th>idioma</th></tr>";
//$cuantos seria la variable que tendrias en el formulario donde digitarias cuantos titulos vas a agregar
for($i 1$i<=$cuantos$i++)
$salida$salida."<tr><td>$nomjuegos</td><td>$cantidad</td><td>$idioma</td></tr>";
$muestrafin="</table>";

$variable=fopen("juego.txt" "a");

flock($variable,2);

if(!
$variable)
{
echo 
" <b>No se puede acceder al archivo</b>";
}
else
{
echo 
" <b>Operacion realizada con exito</b>";
}

fwrite($variable,"$muestraini$salida$muestrafin");
flock($variable,3);
fclose($variable);

?>

3. Esta tal vez no te guste, pero podria ser mas bien hacer una conexion a una base de datos donde se guarden los titulos con el idioma y todo, y luego si a partir de todos los datos de la tabla crear el archivo de texto, y asi te evitarias que al actualizar el archivo de texto te toque hacer la opcion 1, y simplemente lo creas a partir de una consulta a la base de datos donde te traeria los datos antiguos mas los que vayas agregando, bueno, son ideas, espero lo soluciones
__________________
Suerte.
_______________________________
"La vida es el principio de la muerte".
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 11:46.