Foros del Web » Programando para Internet » PHP »

problema con fputs

Estas en el tema de problema con fputs en el foro de PHP en Foros del Web. Buenas quiero escribir en un fichero llamado text.txt, pero la información que va a ir dentro debe sacarse de una base de datos, el caso ...
  #1 (permalink)  
Antiguo 17/02/2003, 07:58
Avatar de PeiShar  
Fecha de Ingreso: abril-2001
Ubicación: España
Mensajes: 125
Antigüedad: 23 años
Puntos: 0
problema con fputs

Buenas quiero escribir en un fichero llamado text.txt, pero la información que va a ir dentro debe sacarse de una base de datos, el caso es que en vez de cargar dichos datos, me escribe solo esto:

Novedades()

Ahi va el codigo:

Código PHP:
<? 

include("header.php");

# Creamos el fichero Text.txt y damos permiso de escritura

$f1=fopen("text.txt","w+");

# Escribimos al final del fichero preexistente 

fputs($f1,$mostrar);

$mostrar"Novedades()";

function 
Novedades(){

global 
$provincia$dbi;
$result mysql_query("select * from novedades order by time"$dbi);

WHILE (
$row mysql_fetch_row($result))
$number mysql_numrows($result);

$i 0;
             
WHILE (
$i $number):

    
$time mysql_result($result,$i,"time");
    
$title mysql_result($result,$i,"title");

        if (
$i%== 0) {

        PRINT  
"$time - $title <br><br>";

        } else {

        PRINT  
"$time - $title <br><br>";

    }
$i++;
ENDWHILE;
mysql_close();
}


# Para comprobar si obtiene las Novedades lo imprimimos.

// Print Novedades();


#cerramos el fichero

fclose($f1);

?>
  #2 (permalink)  
Antiguo 17/02/2003, 08:16
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 22 años, 5 meses
Puntos: 5
normal, debes escribir en el archivo mientras sacas los datos, si te fijas, fputs() el argumento k le debes pasar es un string y no una funcion, podrias arreglarlo de dos maneras, una haciendo el fputs() dentro del while mientras sacas los datos, o bien, ya que has creado la funcion hacer uso de las funciones de buffer:

Código PHP:
$f1=fopen("text.txt","w+");
ob_start();
Novedades();
$mostrar ob_get_contents();
ob_end_clean();

# Escribimos al final del fichero preexistente los datos del buffer
fputs($f1,$mostrar);

function 
Novedades(){

global 
$provincia$dbi;
$result mysql_query("select * from novedades order by time"$dbi);

WHILE (
$row mysql_fetch_row($result))
$number mysql_numrows($result);

$i 0;
             
WHILE (
$i $number):

    
$time mysql_result($result,$i,"time");
    
$title mysql_result($result,$i,"title");

        if (
$i%== 0) {

        PRINT  
"$time - $title <br><br>";

        } else {

        PRINT  
"$time - $title <br><br>";

    }
$i++;
ENDWHILE;
mysql_close();
}

fclose($f1); 
Revisa la funcion fputs() para hacer un uso correcto de la funcion
__________________
Usuario registrado de Linux #288725
  #3 (permalink)  
Antiguo 17/02/2003, 11:34
Avatar de luigivirgo  
Fecha de Ingreso: enero-2003
Ubicación: Toluka mejiko
Mensajes: 150
Antigüedad: 21 años, 3 meses
Puntos: 0
mira modifike un poko tu kodigo espero ke asi te funcione

a ver si asi jala modifike unas kosas

Código PHP:
include("header.php");

# Creamos el fichero Text.txt y damos permiso de escritura

$f1=fopen("text.txt","w+");

# Escribimos al final del fichero preexistente 

$mostrarNovedades();///le kite las komillas y mando llamar la funcion antes de mandarla escribir

fputs($f1,$mostrar);

function 
Novedades(){

global 
$provincia$dbi;
$result mysql_query("select * from novedades order by time"$dbi);

WHILE (
$row mysql_fetch_row($result))
$number mysql_numrows($result);

$i 0;
$aux="";             
WHILE (
$i $number):

    
$time mysql_result($result,$i,"time");
    
$title mysql_result($result,$i,"title");

        if (
$i%== 0) {

        
$aux.= "$time - $title <br><br>\n";  ///lo guardo en uan variable auxiliar para ke lo regrese la funcion

        
} else {

        
$aux.= "$time - $title <br><br>\n";

    }
$i++;
ENDWHILE;
mysql_close();
return 
$aux;
}


# Para comprobar si obtiene las Novedades lo imprimimos.

// Print Novedades();


#cerramos el fichero

fclose($f1 
__________________
no olvides visitar tu propia komputadora en
http://computadora.de
http://paginaweb.de/luigivirgo/luis.jpg
  #4 (permalink)  
Antiguo 18/02/2003, 02:20
Avatar de PeiShar  
Fecha de Ingreso: abril-2001
Ubicación: España
Mensajes: 125
Antigüedad: 23 años
Puntos: 0
Muchas gracias "epplestun", me ha funcionado tu solución, también gracias al otro compañero, ´la segunda opcion ya lo había intentando pero no funciono.

Gracias.
  #5 (permalink)  
Antiguo 18/02/2003, 06:11
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 22 años, 5 meses
Puntos: 5
denada para eso estamos
__________________
Usuario registrado de Linux #288725
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 13:23.