array de php a canvas js

Iniciado por Quino_ve, 8 Enero 2018, 00:42 AM

0 Miembros y 1 Visitante están viendo este tema.

Quino_ve

Buenas tardes, colegas, tengo un error al tratar de enviar los datos de un array en php a js, que al final alimenta el datapoint de un cavas en barra, por mas que le he dado vuelta no logro que se muestre todos los dato, solo me muestra el último dato.

estos datos los tomo de un .log que tiene el siguiente formato:

BANCO1=10
BANCO2=15
BANCO3=20,

Código (php) [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
</head>

<?php

$bancos fopen("emisores_inactivos.log""r") or die ("No se pudo abrir el archivo");

while(!
feof($bancos)){

// Leyendo una linea
    
$traer[]  = fgets($bancos);
}
 
// Cerrando el archivo
fclose($bancos);

//print_r($traer);


for ($x 0$x count($traer); $x++) {
  

  
 $trxtotal explode("="$traer[$x]);
  
 $trxtotal1 $trxtotal[0];
$trxtotal2 $trxtotal[1];
$newarr[] = array("y" => $trxtotal[1], "label" => "$trxtotal1");
//$newarr++;

 } 

    
//   $dataPoints = array ($newarr[]);
 //    //echo $y   ."<br>";
 //  //echo $x ."<br>";

 print_r ($newarr);




?>


<body>
<div id="chartContainer"></div>

<script type="text/javascript">

$(function () {
var chart = new CanvasJS.Chart("chartContainer", {
animationEnabled: true,
title: {
text: "Basic Column Chart using CanvasJS"
},
data: [
{
type: "column",                
dataPoints: <?php echo json_encode($newarrJSON_NUMERIC_CHECK); ?>
}
]
});


chart.render();
});
document.write(dataPoints);

</script>
</body>

</html>



el array lo imprimo y me muestra esto:

Array ( [0] => Array ( [y] => 10 [label] => BANCO1 ) [1] => Array ( [y] => 15 [label] => BANCO2 ) [2] => Array ( [y] => 20 [label] => BANCO3 ) ).

solo me grafica la ultima linea del .log, de las otras 2 lineas solo me muestra el eje del label pero no me grafica el valor, si dejo una sola linea la grafica.

gracias de ante mano.


· Los códigos deben ir en etiquetas GeSHi
· No se debe hacer doble post, el otro tema fue borrado
>aquí las reglas del foro
-Engel Lex

EFEX

Si ves lo que imprime json_encode veras que salen los saltos de linea "\n".

Citar[{"y":"10\n","label":"BANCO1"},{"y":"15\n","label":"BANCO2"},{"y":20,"label":"BANCO3"}]

Los puedes sacar con str_replace.

Código (php) [Seleccionar]

$trxtotal2 = str_replace("\n", "", $trxtotal[1]);
$newarr[] = array("y" => $trxtotal2, "label" => $trxtotal1);


GITHUB