Foros del Web » Programando para Internet » PHP »

Ayuda con Consulta SQL por PHP

Estas en el tema de Ayuda con Consulta SQL por PHP en el foro de PHP en Foros del Web. Tengo esta consulta: Código PHP: select country ,  count ( provider_id )as  total from provider group by country order by total DESC Limit 5  Quiero que el resultado sea este: Todo para ajustarlo a una gráfica ...
  #1 (permalink)  
Antiguo 24/09/2005, 13:55
Avatar de ADIÓS_ADRIANA  
Fecha de Ingreso: septiembre-2005
Mensajes: 263
Antigüedad: 18 años, 7 meses
Puntos: 0
Ayuda con Consulta SQL por PHP

Tengo esta consulta:

Código PHP:
select countrycount(provider_id)as total
from provider group by country order by total DESC Limit 5 


Quiero que el resultado sea este:



Todo para ajustarlo a una gráfica de jpgraph que en este momento me saca esto:




Como se puede hacer? Esto si sería sofisticado para mí...

Gracias de Antemano.


El Script que Uso:

Código PHP:
<?php 
include ("../../jpgraph/src/jpgraph.php");
include (
"../../jpgraph/src/jpgraph_pie.php");
include (
"../../jpgraph/src/jpgraph_pie3d.php");
require_once(
'../Connections/archivo.php'); 
mysql_select_db($database$archivo);
$result mysql_db_query("base_de_datos","( select country, count(provider_id)as total
from provider group by country order by total DESC Limit 5 )"
); 
while(
$row mysql_fetch_array($result)) 

//echo $row["total"]; 
$arreglo1[] = $row[0]." (".$row[1].")"
$arreglo2[] = $row[1]; 

$data $arreglo2;

// Create the Pie Graph.
$graph = new PieGraph(550,300,"auto");
$graph->SetShadow();

// Set A title for the plot
$graph->title->Set("Titulo");
$graph->title->SetFont(FF_FONT1,FS_BOLD); 
$graph->title->SetColor("darkblue");
$graph->legend->Pos(0.02,0.2);

// Create pie plot
$p1 = new PiePlot3d($data);
$p1->SetTheme("sand");
$p1->SetCenter(0.35);
$p1->SetAngle(30);
$p1->value->SetFont(FF_ARIAL,FS_NORMAL);
$p1->SetLegends($arreglo1);

$graph->Add($p1);
$graph->Stroke();

?>
  #2 (permalink)  
Antiguo 24/09/2005, 15:54
 
Fecha de Ingreso: octubre-2003
Ubicación: Cerca de una wifi o 3G
Mensajes: 328
Antigüedad: 20 años, 5 meses
Puntos: 4
no se cual es tu duda, ese dato 117 esta en la base de datos?? supongo que solo deberias cambiar el limit 5 a limit 6

es eso lo que preguntabas??
  #3 (permalink)  
Antiguo 24/09/2005, 16:07
 
Fecha de Ingreso: julio-2005
Ubicación: España
Mensajes: 91
Antigüedad: 18 años, 9 meses
Puntos: 0
Pues con hacer otra consulta q t sume ese campo d todos los paises y luego le restas los d los 5 primeros q ya tienes d la consulta q pusistes, pues ya tienes el valor d los otros no??
  #4 (permalink)  
Antiguo 26/09/2005, 08:02
Avatar de ADIÓS_ADRIANA  
Fecha de Ingreso: septiembre-2005
Mensajes: 263
Antigüedad: 18 años, 7 meses
Puntos: 0
Cita:
Iniciado por phpman
Pues con hacer otra consulta q t sume ese campo d todos los paises y luego le restas los d los 5 primeros q ya tienes d la consulta q pusistes, pues ya tienes el valor d los otros no??
Correcto! lo que no sé hacer es como asignar ese valor en la posición 6 del Array para que también sea graficado.

Ya que los valores se pasan en :

Código PHP:
$arreglo2[] = $row[1]; 
??? Gracias.
  #5 (permalink)  
Antiguo 28/09/2005, 12:59
Avatar de ADIÓS_ADRIANA  
Fecha de Ingreso: septiembre-2005
Mensajes: 263
Antigüedad: 18 años, 7 meses
Puntos: 0
Alguna Idea ?
  #6 (permalink)  
Antiguo 28/09/2005, 13:32
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
De la misma forma:

arreglo[]="valor";
  #7 (permalink)  
Antiguo 28/09/2005, 14:21
Avatar de ADIÓS_ADRIANA  
Fecha de Ingreso: septiembre-2005
Mensajes: 263
Antigüedad: 18 años, 7 meses
Puntos: 0
Si por ejemplo $row[1]; tiene el arreglo de los 5 primeros países, y con otra consulta tengo un resultado del "resto", por ejemplo:

$row[0]; /////// (Tiene el valor de los paises TOP 5)

$arreglo1[] = $row[0] /////// $arreglo1[] Toma el valor de los TOP 5


Si $row[5]; Tiene el valor del "resto"

Si hago:

$arreglo1[] = $row[5]

$arreglo1[] Quedaría con los valores de $row[0] + $row[5] ??????????????
  #8 (permalink)  
Antiguo 28/09/2005, 14:26
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
No, sólo del ultimo, dado que ya recorriste el recordset y quedaste ubicado al final.
  #9 (permalink)  
Antiguo 28/09/2005, 15:08
Avatar de ADIÓS_ADRIANA  
Fecha de Ingreso: septiembre-2005
Mensajes: 263
Antigüedad: 18 años, 7 meses
Puntos: 0
Cita:
Iniciado por claudiovega
De la misma forma:

arreglo[]="valor";

Bueno, en este punto es que necesito colocarle al $arreglo1[] que tiene 5 posiciones, otro valor más para que quede con 6 ...cómo se hace ???

Gracias de antemano.
  #10 (permalink)  
Antiguo 28/09/2005, 15:29
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
$arreglo1[]="valor"; como ya tiene 5 pondra valor en la posicion 6.
  #11 (permalink)  
Antiguo 05/12/2006, 06:19
 
Fecha de Ingreso: enero-2003
Ubicación: Santiago
Mensajes: 301
Antigüedad: 21 años, 3 meses
Puntos: 1
una pregunta similar

hola amigos tengo un apregunta similar, si quiero sumar todos los valores del arreglo y mostrar la suma total en el grafico, deberia crear una instancia para el dato suma_total?? y como reflejarla en el grafico??
¿por qué cuando trato de insertar algun otro caracter ej: echo"suma"; no me muestra la imagen del grafico?
__________________
Cristian...
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 21:41.