2015-06-07 5 views
0

Я пытаюсь импортировать свои данные из базы данных в линейную диаграмму (Highcharts). Мой код не работает.Загрузите данные mysql в линейную диаграмму Highcharts, используя JSON

Вот мой PHP код:

<?php 
require('../php/config.php'); 
     $con=mysqli_connect("localhost", "root", "ginnastica", "progetto"); 
// Check connection 
if (mysqli_connect_errno()) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 
     if(isset($_GET['src'])) 
     { 
     $records=array(); 
     $records = select($mysqli,"SELECT Sesso AS name, Occupati AS data FROM occupazione WHERE Sesso='totale' AND Periodo LIKE '%2008'"); 
      $rows = array(); 
      $rows['name'] = 'Totale'; 
      while($r = mysql_fetch_assoc($records)) { 
      $rows['data'][]=$r['data']; 
      } 
      return json_encode($rows); 
     } 
     else 
      return json_encode(array('status' => 'error', 'details' => 'no src provided')); 

    } 
?> 

Похоже, что "mysql_fetch_assoc" не работает. Вывод моего массива $ rows id, который:

{ 

    "name": "Totale" 

} 

Не существует элемента, называемого «данные».

Что я делаю неправильно?

+0

вам не хватает {после else – Moppo

ответ

0

В первый:

  1. Было бы целесообразно, чтобы посмотреть, что находится в файле ../php/config.php, поскольку содержание этого файла может повлиять на поведение других линий вы обеспечили.
  2. Строка и данные (по крайней мере, несколько строк данных) таблицы occupazione также заслуживают внимания, поскольку данные и структура могут также изменить выход.
  3. Вам не хватает { после else, - как @Moppo уже упоминалось.
  4. Предупреждение о mysql_fetch_assoc Это расширение устарело с PHP 5.5.0 и будет удалено в будущем. Вместо этого следует использовать расширение MySQLi или PDO_MySQL. Подробнее в php.net

После этого и еще несколько исправлений я наконец написать свой код в пути близко к тому:

<?php 

$con = mysqli_connect("localhost", "root", "ginnastica", "progetto"); 
// Check connection 
if (mysqli_connect_errno()) { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 
if (isset($_GET['src'])) { 
    $records = $con->query("SELECT Sesso AS name, Occupati AS data FROM occupazione WHERE Sesso='totale' AND Periodo LIKE '%2008'"); 
    $rows = array(); 
    $rows['name'] = 'Totale'; 
    while ($r = $records->fetch_assoc()) { 
     $rows['data'][] = $r['data']; 
    } 
    return json_encode($rows, JSON_NUMERIC_CHECK); 
} else { 
    return json_encode(array('status' => 'error', 'details' => 'no src provided')); 
} 

Как я уже говорил, мы ничего не знаем о базе данных вы работаете с , поэтому я предполагаю, что ваш выбор не возвращает никаких строк. И тогда у вас нет data (только {"name": "Totale"}), просто потому, что while не имеет ничего для итерации.

+0

Спасибо! ОНО РАБОТАЕТ! – gemma

Смежные вопросы