Disculpas si mi título es vago, haré todo lo posible para repetir.

Estoy usando el siguiente código PHP para devolver una consulta COUNT desde la base de datos MySQL.

La respuesta está bien, sin embargo, tengo problemas para analizar la respuesta con JS, ya que quiero presentar solo el valor dentro de un tablero (freeboard.io)

<?php 
//Create Database Connection
$db = mysql_connect("localhost","root","passwordROOT12");
if (!$db) {
    die('Could not connect to the db brah: ' . mysql());
}

//Select the database
mysql_select_db("cp_investigations",$db);

//Replace the * in the query with the column names.
$result = mysql_query("select count(*) from emailAccount", $db);

//Create an array
$json_response = array();

while ($row = mysql_fetch_array($result)) {
    $json_response[] = $row;


}
print json_encode($json_response);

//Close the db connection
fclose($db);

?>

RESPUESTA:

[{"0": "49", "cuenta (*)": "49"}]

Aquí está el JS que estoy usando actualmente para intentar que el valor "49" se refleje nuevamente en el tablero.

datasources["Test"].0].

El problema es que esto está regresando: NaN en la interfaz del tablero.

Estoy bastante seguro de que necesito cambiar este JS actual para que solo analice correctamente el valor deseado. (Sin embargo, he intentado todo sin suerte)

-1
shadowmoses 31 ago. 2014 a las 06:27

2 respuestas

La mejor respuesta

Cambie esa consulta a:

SELECT COUNT(*) AS total FROM emailAccount

De esta manera, obtendrá "total" en su json para hacer referencia. json.total

Está viendo 0 en la respuesta debido a $ json_response [] ... Agregar [] es crear la primera fila de una matriz, que es la clave 0

0
Chemdream 31 ago. 2014 a las 02:54

Lo primero que haría es reemplazar esto:

$result = mysql_query("select count(*) from emailAccount", $db);

Con esto:

$result = mysql_query("select count(*) as EmailCount from emailAccount", $db);

Eso debería darle una mejor respuesta JSON para trabajar (las claves del diccionario deben ser cadenas). Entonces deberías poder hacer algo como esto:

var myCount = datasources.EmailCount;
0
LJ Wilson 31 ago. 2014 a las 02:34