Foros del Web » Programando para Internet » PHP »

Esta bien la estructura??

Estas en el tema de Esta bien la estructura?? en el foro de PHP en Foros del Web. Hola, buenas a todos. Estoy haciendo una funcion en la que necesito datos de la bd y tengo una consulta hecha fuera de la funcion ...
  #1 (permalink)  
Antiguo 07/06/2010, 20:17
 
Fecha de Ingreso: junio-2010
Mensajes: 26
Antigüedad: 13 años, 10 meses
Puntos: 3
Pregunta Esta bien la estructura??

Hola, buenas a todos.

Estoy haciendo una funcion en la que necesito datos de la bd y tengo una consulta hecha fuera de la funcion pero si quiero que la funcion recoja datos de la bd tengo que meter la consulta dentro de la funcion, no se si me he explicado.

Esta es lal funcion:

Código:
function valoracion(){
//Como la conexion ya esta hecha creo una consulta y la almaceno
$query_programa="SELECT * FROM programas";
//Guardo en una variable el resultado de la consulta
$result=mysql_query("$query_programa") or die (mysql_error());


	while ($row = mysql_fetch_array($result)){
		if($row['id_programas']==$_GET['id']){
			$nvotos=$row['votos_programas'];
			$tvotos=$row['votost_programas'];
			
			//Si uno de los dos campos tiene 0 como valor imprimo directamente 0
			if($nvotos==0 || $tvotos==0){
			echo 0;
			}else{
			//Si no divido el total de la suma de los votos entre el numero de votos
			$division = $tvotos / $nvotos;
			//Multiplico por 10 pra sacar un decimal
			$multiplicacion= $division * 10;
			//Y quito el resto de los decimales redondenado hacia abajo
			$total=floor($multiplicacion);
			//Imprimo el numero resultante
			echo $total;
			}
		break;
		}
		
	}

}
La duda que me surge es la de si esto esta bien estructurado asi o si hay otra forma mejor. Funcionar funciona pero si saco la consulta y la pongo fuera de la funcion el mysql_fetch_array($result) no mete ningun dato en ningun array.

Si tengo que meter la consulta dentro de la funcion, por que no tengo que meter tambien la conexion?

Bueno si me habeis entendido bien, si no me explico mejor :P

Saludos.
  #2 (permalink)  
Antiguo 07/06/2010, 20:36
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Esta bien la estructura??

a todo eso que le llamas se le conoce como contexto, o alcance...

es muy simple, ¿como regar el jardín si se está dentro de la casa?

te sugiero leer lo siguiente:
http://www.php.net/manual/en/languag...bles.scope.php
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 07/06/2010, 21:01
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 1 mes
Puntos: 10
Respuesta: Esta bien la estructura??

Tienes que ver el alcance de la variable:

Mira:

Código PHP:

$query_programa
="select * from TU_TABLA";
$result=mysql_query($query_programa) or die (mysql_error());

function 
valoracion(){

 
//se les asigna a las siguientes variables (externas) 
//un alcance global. Ahora podran ser accedidas desde dentro de la funcion.
global $result;

while (
$row mysql_fetch_array($result)){

var_dump($row);

}
}

valoracion(); 
Y en esta linea podrias quitar las comillas:
$result=mysql_query($query_programa) or die (mysql_error());

Bueno si hay algo mas no lo se...

Última edición por wiwi74; 07/06/2010 a las 21:06
  #4 (permalink)  
Antiguo 07/06/2010, 21:22
 
Fecha de Ingreso: junio-2010
Mensajes: 26
Antigüedad: 13 años, 10 meses
Puntos: 3
De acuerdo Respuesta: Esta bien la estructura??

Oooookey muchas gracias a los dos. Creo que se nota que estoy empezando a trastear con esto :P

Entendido y aplicado.

Etiquetas: estructura
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 08:26.