Foros del Web » Programando para Internet » PHP »

PHP OO problema al crear funcion en php

Estas en el tema de problema al crear funcion en php en el foro de PHP en Foros del Web. (EasyPhp 5.4.6). Hola. Esto es lo que me pasa: Este código hace lo que quiero: me coge una info que despues meto en una tabla ...
  #1 (permalink)  
Antiguo 01/10/2012, 10:02
 
Fecha de Ingreso: octubre-2012
Mensajes: 2
Antigüedad: 7 años, 2 meses
Puntos: 0
problema al crear funcion en php

(EasyPhp 5.4.6). Hola. Esto es lo que me pasa:

Este código hace lo que quiero: me coge una info que despues
meto en una tabla en html:

<?php

// Entrar en la base de datos:
include("basecom.php");
// Traer el primer registro:
$orden = "SELECT * FROM vehiculos";
$mandar_comando = mysql_query($orden,$descriptor);
$datos_respuesta = (mysql_fetch_array($mandar_comando));

$brand = $datos_respuesta['marca'];
$model = $datos_respuesta['modelo'];
$money = $datos_respuesta['precio'];

?>

Como quiero repetir el proceso, pues he intentado crear una función:

<?php

function registro()
{
// Entrar en la base de datos:
include("basecom.php");
// Traer el primer registro:
$orden = "SELECT * FROM vehiculos";
$mandar_comando = mysql_query($orden,$descriptor);
$datos_respuesta = (mysql_fetch_array($mandar_comando));

$brand = $datos_respuesta['marca'];
$model = $datos_respuesta['modelo'];
$money = $datos_respuesta['precio'];
}

registro();

?>

Pues este simple cambio, no tiene ningún efecto, no se comporta como antes.

¿ Qué hago mal?


Gracias por tu tiempo.
  #2 (permalink)  
Antiguo 01/10/2012, 11:02
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 14 años, 6 meses
Puntos: 394
Respuesta: problema al crear funcion en php

Debes tener en cuenta el ámbito de las variables te invito a que leas el articulo para que te des cuenta de lo que esta pasando en ese código

Si tienes mas dudas mira este tema y si no das con el problema nos avisas.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #3 (permalink)  
Antiguo 01/10/2012, 12:22
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 12 años, 4 meses
Puntos: 194
Respuesta: problema al crear funcion en php

Ademas de lo mencionado en el comentario anterior (tus variables dentro de la función no pueden ser accedidas desde fuera) también deberías tener en cuenta reemplazar tu include por un include_once
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #4 (permalink)  
Antiguo 01/10/2012, 13:30
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.654
Antigüedad: 14 años, 5 meses
Puntos: 88
Respuesta: problema al crear funcion en php

Cita:
Iniciado por h2swider Ver Mensaje
(tus variables dentro de la función no pueden ser accedidas desde fuera)
eso es precisamente lo que conocemos como ámbito de la variables.
pero no es del todo cierto, si se manejan como de ámbito local no es accesible entre funciones, pero no pasa lo mismo si lo manejas como de ámbito global, con esas si que se puede, esto es solo como aclaración y espero (h2swider) no me lo tomes a mal.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #5 (permalink)  
Antiguo 01/10/2012, 13:41
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 12 años, 4 meses
Puntos: 194
Respuesta: problema al crear funcion en php

Cita:
Iniciado por eits Ver Mensaje
eso es precisamente lo que conocemos como ámbito de la variables.
pero no es del todo cierto, si se manejan como de ámbito local no es accesible entre funciones, pero no pasa lo mismo si lo manejas como de ámbito global, con esas si que se puede, esto es solo como aclaración y espero (h2swider) no me lo tomes a mal.
Lo que pasa es que justamente, por la forma que esta presentando el tema, esta declarando las variables en forma local dentro de la función. Igualmente el uso de un ámbito "global" de variables con el fin de comunicar funciones entre si es una muy mala practica.

Saludos
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #6 (permalink)  
Antiguo 01/10/2012, 17:17
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.654
Antigüedad: 14 años, 5 meses
Puntos: 88
Respuesta: problema al crear funcion en php

Cita:
Iniciado por h2swider Ver Mensaje
Lo que pasa es que justamente, por la forma que esta presentando el tema, esta declarando las variables en forma local dentro de la función. Igualmente el uso de un ámbito "global" de variables con el fin de comunicar funciones entre si es una muy mala practica.

Saludos
no quiero sonar como soberbio o que soy un sabelotodo, pero si jajaja, mentira, me gusta intercambiar ideas para ir ampliando el conocimiento, y por eso es que te digo, el ámbito global no es una mala práctica si lo sabes usar, es por eso que existe y a evolucionado de globals a un array de superglobales con $GLOBALS, que nos ayuda a tener un orden sobre las variables que deseamos manejar como tales, aunque siendo sinceros no lo uso mucho, casi siempre uso por referencia, sin embargo existen otras que usamos muy seguido sin darnos cuenta que el ámbito es global como $_SESSION o $_COOKIES.

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #7 (permalink)  
Antiguo 02/10/2012, 08:59
 
Fecha de Ingreso: octubre-2012
Mensajes: 2
Antigüedad: 7 años, 2 meses
Puntos: 0
Respuesta: problema al crear funcion en php

Según he leído, las variables que pensaba que eran globales, SI LO SON !, pero he de declararlas globales (p.e. dentro de la función con el termino "global" antecediendo a su nombre), para poder acceder a las mismas.

Muchas gracias por responder. Estuve aprendiendo mas cosas todo este tiempo, y pude dar solución a mis objetivos de otra forma. Realicé lo que quería usando la variable superglobal $_SESSION. Y me he dado cuenta de que las cosas en php o html serían mucho mas fáciles si no estuviesen "capados" por temas de seguridad.

A seguir aprendiendo, que es todo un placer. Y muchas gracias a todos.

Etiquetas: funcion, html, mysql, registro, tabla
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 19:15.