Ver Mensaje Individual
  #5 (permalink)  
Antiguo 25/08/2013, 06:19
Avatar de sven_uri
sven_uri
 
Fecha de Ingreso: mayo-2011
Mensajes: 109
Antigüedad: 13 años, 10 meses
Puntos: 4
Respuesta: Acceder a un valor concreto de un array con valores de una base de datos

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Empecemos por el principio: Para que la print_r() no devuelva la estructura del array como deseas mostrarla, el array debería estar vacío, es decir, ser nulo. Y en ese caso saldría por el error.
La primera pregunta es: ¿Está mostrando algo en pantalla?

En segundo lugar, ¿qué devuelve esto, si lo ejecutas por ejemplo con el phpMyadmin, en forma manual:
Código MySQL:
Ver original
  1. SELECT SUM(quests_valor),pua.pua_nom
  2. FROM  fan,pua
  3. WHERE  pua.pua_nom ='Onil'
Eso, suponiendo que no esté devolviendo un error, ya que estás usando una función agrupada, sin usar GROUP BY, lo que debería dispararlo.

Empecemos por estos dos temas.
Hola de nuevo gnzsoloyo,

Respondiendo a la primera pregunta, a no ser que haga el código citado a continuación no me muestra nada por pantalla:

Código PHP:
Ver original
  1. <?php
  2.     include("conexio.php");
  3. ?>
  4. <?php
  5.         $expe_q=mysql_query("SELECT SUM(quests_valor),pua.pua_nom FROM  fan,pua WHERE  pua.pua_nom ='Onil'");
  6.         if(!$expe_q)
  7.         {
  8.         echo '<p> Error executant la consulta </p>';
  9.         echo mysql_error();
  10.         exit;
  11.         }
  12.        
  13.         echo "<p> S'han recuperat ". mysql_num_rows($expe_q) . 'files</p>';
  14.         echo '<pre>';      
  15.        
  16.         while($Fila=mysql_fetch_row($expe_q))
  17.             print_r($Fila);
  18.             //echo $Fila("SUM(quests_valor)");
  19.         echo '</pre>';
  20.        
  21.         $valor=$Fila[0];
  22.         echo $valor;
  23. ?>

Como veis en la consulta utilice el SUM para sumar todos los valores que cumplieran la condición ='Onil'. Luego lo que pretendía es coger ese valor y almacenarlo en una variable para poder operar con este. Como no sabía cómo hacerlo estuve mirando libros y lo pase por este array que veis para poder coger luego solo ese 110. Pero no sé si me estoy complicando demasiado o si hay una alternativa más sólida e útil.

Respondiendo a la segunda pregunta, si lo ejecuto de forma manual me devuelve dos columnas con una fila con 110 en la primera y el nombre Onil en la otra.

Seguro que el error es para no dirigirme la palabra pero en mi defensa diré que estoy constantemente estudiando libros para así poder aportar soluciones a este foro también :).