Foros del Web » Programando para Internet » PHP »

No se donde tengo el fallo...

Estas en el tema de No se donde tengo el fallo... en el foro de PHP en Foros del Web. Hola a [email protected]!!!! Pues llevo todo el día dandole vueltas y no veo donde cometo el error, estoy realizando una Web que dinámicamente genera un ...
  #1 (permalink)  
Antiguo 29/04/2003, 05:31
Avatar de dabogar  
Fecha de Ingreso: diciembre-2002
Ubicación: Valenciaaaa es la tierra de las flores ...
Mensajes: 33
Antigüedad: 15 años
Puntos: 0
No se donde tengo el fallo...

Hola a [email protected]!!!!

Pues llevo todo el día dandole vueltas y no veo donde cometo el error, estoy realizando una Web que dinámicamente genera un documento Word, ahí no tengo el problema ya que sé como generarlo con PHP/ MySQL perfectamente.

El problema lo tengo al llamar a una función que me he creado que reemplaza etiquetas con los datos que saca de mi BDA, por tanto a la función quiero pasarle el array de la consulta es decir...

Código PHP:
$recordset1=mysql_query($consulta1,$bda_conexion) or die(mysql_error());
$inmueble=mysql_fetch_assoc($recordset1);
......
$pos=1;
do {
    
print_inmueble($inmueble);
    if(
$pos%2==0) { echo $salto; }
    
$pos++;
} while (
$inmueble=mysql_fetch_assoc($recordset1)); 
Y la función ...

Código PHP:
function print_inmueble($registro) {
    
$inm=$info_inmueble;
    
$inm=str_replace('<<razon_social>>',$registro['razon_social'],$inm);
    
$inm=str_replace('<<DOMX>>',$registro['DOMX'],$inm);
    
//Más líneas idénticas que reemplazan
                
echo $inm;

Pues ese es mi problema, que no se por que no ejecuta lo que hay en la funcion print_inmueble, no paro de mirar pero nada de nada estoy al borde de la histeria, pienso que el problema está en la forma de pasarle el puntero al registro, he probado a pasarlo por referencia pero nada de nada, la consulta se realiza de forma perfecta

Agradecería enternamente algún comentario.

Otra cosa, hay alguna forma de hacer los 50 y tantos str_replace que tengo que hacer por de una forma menos larga
__________________
Cuando las cosas vayan bien, algo habrá que haga que vayan mal. :-)

  #2 (permalink)  
Antiguo 29/04/2003, 05:37
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 15 años, 11 meses
Puntos: 17
Se supone que dentro de una función sólo puedes usar las variables que has definido dentro de la función, o que has pasado al llamarla.
__________________
M a l d i t o F r i k i
  #3 (permalink)  
Antiguo 29/04/2003, 05:48
Avatar de dabogar  
Fecha de Ingreso: diciembre-2002
Ubicación: Valenciaaaa es la tierra de las flores ...
Mensajes: 33
Antigüedad: 15 años
Puntos: 0
Es que le paso el puntero al registro que apunta en ese momento a la BDA, no se el nombre exacto,

$inmueble=mysql_fetch_assoc($recordset1);

Pues le paso $inmueble para dentro de la función poder accecer a los campos de la fila en la que está la consulta ...
__________________
Cuando las cosas vayan bien, algo habrá que haga que vayan mal. :-)

  #4 (permalink)  
Antiguo 29/04/2003, 05:50
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 15 años, 11 meses
Puntos: 17
$inm=$info_inmueble;

Pero no le pasas $info_inmueble.
__________________
M a l d i t o F r i k i
  #5 (permalink)  
Antiguo 29/04/2003, 05:55
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

COmo ha dicho Cain, solo puedes usar dentro de la funcion las variables que defines dentro de la funcion. Por lo que esto:
Código PHP:
$inm=$info_inmueble
no funciona como crees. Para acceder a la variable global $info_inmueble dentro de una funcion debes usar la palabra reservada global o el array $GLOBALS:
Código PHP:
function print_inmueble($registro) {
    global 
$info_inmueble;
    
$inm=$info_inmueble;
    
$inm=str_replace('<<razon_social>>',$registro['razon_social'],$inm);
    
$inm=str_replace('<<DOMX>>',$registro['DOMX'],$inm);
    
//Más líneas idénticas que reemplazan
                
echo $inm;

Creo que esto ya esta en las FAQs.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 29/04/2003, 05:58
Avatar de dabogar  
Fecha de Ingreso: diciembre-2002
Ubicación: Valenciaaaa es la tierra de las flores ...
Mensajes: 33
Antigüedad: 15 años
Puntos: 0
Thanxs

Toda la mañana rayando un montón y luego se me había olvidado que hay que pasar todas la variables, que patán

Es cierto que está en las faqs y lo leí, pero no me dí cuenta que ese era mi error.

Muchas gracias ya me funsiona correctamente
__________________
Cuando las cosas vayan bien, algo habrá que haga que vayan mal. :-)


Última edición por dabogar; 29/04/2003 a las 06:17
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 02:04.