PHP - graficos-php-jquery+chartjs+htlm5+mysql

 
Vista:

graficos-php-jquery+chartjs+htlm5+mysql

Publicado por reina (2 intervenciones) el 14/03/2019 17:13:24
Buenas tardes, necesito ayuda ya que quiero graficar en php, tengo la base de datos en mysql, el codigo tambien lo tengo listo y no me arroja ningun error, pero no me muestra el grafico, cuando descarge el chartjs no me aparece ni el chart.min.js y tampoco el jquery.js
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

graficos-php-jquery+chartjs+htlm5+mysql

Publicado por joel (1269 intervenciones) el 14/03/2019 18:35:55
Con la información que das, no se como ayudarte...

Te devuelve algún error la consola del navegador?
Puedes mostrar el código?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

graficos-php-jquery+chartjs+htlm5+mysql

Publicado por reina (2 intervenciones) el 14/03/2019 18:58:00
codigo index.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<html>
<head>
<title>Estadistica</title>
<meta charset="UTF8">
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/chartJS/Chart.min.js"></script>
</head>
<style>
.caja{
	margin: auto;
	max-width: 250px;
	padding: 20px;
	border: 1px solid #BDBDBD;
}
.caja{
 
	width: 100%;
	padding: 5px;
	}
.resultado{
	margin: auto;
	font-size: 16px;
	width: 1000px;
	}
</style>
<body>
<div class="caja">
<select onChange="mostrarResultados(this.values);">
<?php
for($i=2000;$i<2020;$i++){
	if($i==2015){
		echo "<option value=".$i.'"selected>'.$i.'</option>';
	}else{
		echo "<option value=".$i.'">'.$i.'</option>';
	}
}
?>
</select>
</div>
<div clss="resultados"><canvas id="grafico"></canvas></div>
</body>
<script>
$(document).ready(mostrarResultados(2015));
function mostrarResultados(año){
	$.ajax({

		type:'POST',
		url:'controlador/procesar.php',
		data:'año='+año,
		success:function(data){

			var valores=eval(data){
				var e=valores[0];
				var f=valores[1];
				var m=valores[2];
				var a=valores[3];
				var ma=valores[4];
				var j=valores[5];
				var jl=valores[6];
				var ag=valores[7];
				var s=valores[8];
				var o=valores[9];
				var n=valores[10];
				var d=valores[11];

				var Datos={
					label:['Enero', 'Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'],
					datasets:[{
						fillColor:'rgba(91,228,146,0,6)',//Color de las barras
						strokeColor: 'rgba(57,194,112,0,7)',//Color del borde de las barras
						highlightFill: 'rgba(73,206,180,0,6)',//Color "HOVER" de las barras
						highlightStroke: 'rgba(66,196,157,0,7)',//Color "HOVER" del borde de las barras
						data:[e,f,m,a,ma,jl,ag,s,o,n,d]

					}]
				}
			}
			var contexto= document.getElementById('grafico').getContext('2d');
			window.Barra= new Chart(contexto).Bar(Datos,{responsive: true});
		}
	});
	return false;
} 
</script>



codigo procesar.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
 
include('conexion.php');
 
$año=$_POST['año'];
 
$Enero=mysql_fetch_array=("SELECT SUM(monto_venta) AS r FROM ventas WHERE MONTH(fecha_venta=1 AND YEAR(fecha_venta='$año'"));
$Febrero=mysql_fetch_array=("SELECT SUM(monto_venta) AS r FROM ventas WHERE MONTH(fecha_venta=2 AND YEAR(fecha_venta='$año'"));
$Marzo=mysql_fetch_array=("SELECT SUM(monto_venta) AS r FROM ventas WHERE MONTH(fecha_venta=3 AND YEAR(fecha_venta='$año'"));
$Abril=mysql_fetch_array=("SELECT SUM(monto_venta) AS r FROM ventas WHERE MONTH(fecha_venta=4 AND YEAR(fecha_venta='$año'"));
$Mayo=mysql_fetch_array=("SELECT SUM(monto_venta) AS r FROM ventas WHERE MONTH(fecha_venta=5 AND YEAR(fecha_venta='$año'"));
$Junio=mysql_fetch_array=("SELECT SUM(monto_venta) AS r FROM ventas WHERE MONTH(fecha_venta=6 AND YEAR(fecha_venta='$año'"));
$Julio=mysql_fetch_array=("SELECT SUM(monto_venta) AS r FROM ventas WHERE MONTH(fecha_venta=7 AND YEAR(fecha_venta='$año'"));
$Agosto=mysql_fetch_array=("SELECT SUM(monto_venta) AS r FROM ventas WHERE MONTH(fecha_venta=8 AND YEAR(fecha_venta='$año'"));
$Septiembre=mysql_fetch_array=("SELECT SUM(monto_venta) AS r FROM ventas WHERE MONTH(fecha_venta=9 AND YEAR(fecha_venta='$año'"));
$Octubre=mysql_fetch_array=("SELECT SUM(monto_venta) AS r FROM ventas WHERE MONTH(fecha_venta=10 AND YEAR(fecha_venta='$año'"));
$Noviembre=mysql_fetch_array=("SELECT SUM(monto_venta) AS r FROM ventas WHERE MONTH(fecha_venta=11 AND YEAR(fecha_venta='$año'"));
$Diciembre=mysql_fetch_array=("SELECT SUM(monto_venta) AS r FROM ventas WHERE MONTH(fecha_venta=12 AND YEAR(fecha_venta='$año'"));
 
$data= array(0=>round($enero['r'],1),
	         1=>round($febero['r'],1),
	         2=>round($marzo['r'],1),
	         3=>round($abril['r'],1),
	         4=>round($mayo['r'],1),
	         5=>round($junio['r'],1),
	         6=>round($julio['r'],1),
	         7=>round($agosto['r'],1),
	         8=>round($septiembre['r'],1),
	         9=>round($octubre['r'],1),
	         10=>round(noviembre['r'],1),
             11=>round(diciembre['r'],1)
             );
 
       echo json_encode($data);
 
 
 
?>

codigo conexion.php

1
2
3
4
5
<?php
	$conexion=mysql_connect("localhost");
	mysql_select_db('tienda',$conexion);
 
?>

la consola no me devuelve ningun error
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de italo_pm
Val: 920
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

graficos-php-jquery+chartjs+htlm5+mysql

Publicado por italo_pm (193 intervenciones) el 15/03/2019 00:12:45
Hola, primero que nada, controlaria las rutas de los files js, podria ser que no te las cargue correctamente.

por otra parte, mysql_connect o mysql_* ya son obsoletas, deberias de trabajar con mysqli o pdo

en todo caso, controlando la parte de conexion.php (no sabiendo si has borrados el resto de datos) la parte de $conexion=mysql_connect("localhost"); esta incompleta...

prueba con:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
 
//conecto con mysql
$conexion= mysql_connect('localhost', 'usuario_mysql', 'contraseña_mysql');
if (!$conexion) {
    die('No se pudo conectar : ' . mysql_error());
}
 
// selecciono el db tienda
$selecciono_db= mysql_select_db('tienda', $conexion);
if (!$selecciono_db) {
    die ('Error durante la seleccion de tienda: ' . mysql_error());
}
?>

por otra parte las sentencias estan mal realizadas, ya que antes del mysql_fetch_array (recupera los datos) deberas hacer el mysql_query para ejecutar la query.

de
1
$Enero=mysql_fetch_array=("SELECT SUM(monto_venta) AS r FROM ventas WHERE MONTH(fecha_venta=1 AND YEAR(fecha_venta='$año'"));

a

1
2
$Enero= mysql_query("SELECT SUM(monto_venta) AS r FROM ventas WHERE MONTH(fecha_venta=1 AND
 YEAR(fecha_venta='$año')");

y luego deberas recuperar los datos con mysql_fetch_array, con ayuda de un while o foreach

aqui el manual oficial de como funciona el mysql_fetch_array

http://php.net/manual/es/function.mysql-fetch-array.php

si hubiera algun error lo verias en pantalla....


en todo caso, antes de utilizar los files en local, podrias usarlos online, para descartar el error en las rutas...

1
2
3
4
5
<!-- jquery -->
  <script src="//code.jquery.com/jquery-3.3.1.min.js"></script>
 
  <!-- Chart -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.3/Chart.min.js"></script>

si tienes errores, escribelos y explica bien tu problema.

salud2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar