
13.08.2011, 00:14
|
 |
Профессор
|
|
Регистрация: 08.08.2011
Сообщений: 191
|
|
построение Графика (передача переменной ajax json)
Есть график
<script type="text/javascript" src="sources/jscharts.js"></script>
<script type="text/javascript">
var myData = new Array(['Петя', 69.5], ['Вася', 2.8], ['Маша', 5.6], ['Саша', 2.8], ['Жопа', 14.6], ['Светлана', 2.7], ['Кирилл', 1.9]);
var colors = ['#FA5E1F', '#FDCB3F', '#71D743', '#D23333', '#BAE73F', '#AB7B55', '#B381C9'];
var myChart = new JSChart('graph', 'bar');
myChart.setDataArray(myData);
myChart.colorizeBars(colors);
myChart.setTitle('Электронная система учета успеваемости');
myChart.setTitleColor('#8E8E8E');
myChart.setAxisNameX('ученик');
myChart.setAxisNameY('Баллы');
myChart.setAxisColor('#c6c6c6');
myChart.setAxisWidth(1);
myChart.setAxisNameColor('#9a9a9a');
myChart.setAxisValuesColor('#939393');
myChart.setAxisPaddingTop(60);
myChart.setAxisPaddingLeft(50);
myChart.setAxisPaddingBottom(60);
myChart.setTextPaddingBottom(20);
myChart.setTextPaddingLeft(15);
myChart.setTitleFontSize(11);
myChart.setBarBorderWidth(0);
myChart.setBarSpacingRatio(50);
myChart.setBarValuesColor('#737373');
myChart.setGrid(false);
myChart.setSize(500, 321);
myChart.setBackgroundImage('img/chart_bg.jpg');
myChart.draw();
</script>
и есть запрос в базу
<script type="text/javascript">
$("#graph").click(function(){
var a = $("#datepicker").val();
var b = <?php echo $myrow['id_user']; ?>
$.ajax({
type: "POST",
url: "http://localhost/dnevnik/test.php",
data: ({a:a,b:b}),
dataType: 'json',
beforesend: alert("Отправляемые данные a=" +a+ "b="+b), // Проверка отправления данных
success: function(data){
$.each(data, function(index,a){
// index -> какой по счету объект в data, a -> data[ index ]
for(var i in a ) {
// i -> Id_p, a[ p ] -> qwerty
if(i === "Id_p"){
$("#Id_p" + index).append(a[i]);
};// закрытие if
}; // закрытие for
}); // закрытие $.each(data, function(index,a){
}, // закрытие success: function(data){
});
});
</script>
Все по раздельности работает, а вот вместе нет , помогите мне пожалуйста соединить эти два скрипта и вставить вместо
var myData = new Array(['Петя', 69.5], ['Вася', 2.8], ['Маша', 5.6], ['Саша', 2.8], ['Жопа', 14.6], ['Светлана', 2.7], ['Кирилл', 1.9]);
мой массив date
|
|

13.08.2011, 00:20
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
ошибка в скрипте. он и не должен работать
$.ajax({
type: "POST",
url: "http://localhost/dnevnik/test.php",
data: ({a:a,b:b}),
dataType: 'json',
*!*
beforesend: alert("Отправляемые данные a=" +a+ "b="+b), // Проверка отправления данных
*/!*
success: function(data){
$.each(data, function(index,a){
// index -> какой по счету объект в data, a -> data[ index ]
for(var i in a ) {
// i -> Id_p, a[ p ] -> qwerty
if(i === "Id_p"){
$("#Id_p" + index).append(a[i]);
};// закрытие if
}; // закрытие for
}); // закрытие $.each(data, function(index,a){
}, // закрытие success: function(data){
});
|
|

13.08.2011, 00:25
|
 |
Профессор
|
|
Регистрация: 08.08.2011
Сообщений: 191
|
|
beforesend: alert("Отправляемые данные a=" +a+ "b="+b),
Не знаю скрипт работает(выводить нормально ) ... и тот и другой, как только засунуть их друг в друга не знаю чтобы переменную date передать
|
|

13.08.2011, 00:40
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
и правда. хм... спать уже что ли пора
слишком много кода, локализуйте проблему, ошибки в консоли появляются? что приходит из success из ajax ? откуда брать вашу data ?
|
|

13.08.2011, 00:49
|
 |
Профессор
|
|
Регистрация: 08.08.2011
Сообщений: 191
|
|
Сообщение от melky
|
и правда. хм... спать уже что ли пора
слишком много кода, локализуйте проблему, ошибки в консоли появляются? что приходит из success из ajax ? откуда брать вашу data ?
|
Есть запрос который
$.ajax({
type: "POST",
url: "http://localhost/dnevnik/ocenka.php",
data: ({a:a,b:b}),
dataType: 'json',
//beforesend: alert("Отправляемые данные a=" +a+ "b="+b), // Проверка отправления данных
success: function(data){alert(data);}
присылает нам массив с нашими переменными
и есть график в который я хочу вставить эту переменную, но чтобы ее вставить нужно вставить код нашего графика куда до в общий код написанный мной выше.. надо же ему как то понимать от куда эта переменная ( значит скорее всего надо вставить в эту функцию. я пробую все время вставлять но не чего не происходит , но по отдельности все работает (без передачи переменной )
сам график
script type="text/javascript">
var myData = new Array(['Петя', 69.5], ['Вася', 2.8], ['Маша', 5.6], ['Саша', 2.8], ['Жопа', 14.6], ['Светлана', 2.7], ['Кирилл', 1.9]);
var colors = ['#FA5E1F', '#FDCB3F', '#71D743', '#D23333', '#BAE73F', '#AB7B55', '#B381C9'];
var myChart = new JSChart('graph', 'bar');
myChart.setDataArray(myData);
myChart.colorizeBars(colors);
myChart.setTitle('Электронная система учета успеваемости');
myChart.setTitleColor('#8E8E8E');
myChart.setAxisNameX('ученик');
myChart.setAxisNameY('Баллы');
myChart.setAxisColor('#c6c6c6');
myChart.setAxisWidth(1);
myChart.setAxisNameColor('#9a9a9a');
myChart.setAxisValuesColor('#939393');
myChart.setAxisPaddingTop(60);
myChart.setAxisPaddingLeft(50);
myChart.setAxisPaddingBottom(60);
myChart.setTextPaddingBottom(20);
myChart.setTextPaddingLeft(15);
myChart.setTitleFontSize(11);
myChart.setBarBorderWidth(0);
myChart.setBarSpacingRatio(50);
myChart.setBarValuesColor('#737373');
myChart.setGrid(false);
myChart.setSize(500, 321);
myChart.setBackgroundImage('img/chart_bg.jpg');
myChart.draw();
</script>
|
|

13.08.2011, 01:14
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
ааа
а что приходит с сервера? data
|
|

13.08.2011, 01:16
|
 |
Профессор
|
|
Регистрация: 08.08.2011
Сообщений: 191
|
|
Сообщение от melky
|
ааа
а что приходит с сервера? data
|
массив data
Последний раз редактировалось Sadist_dead, 13.08.2011 в 01:21.
|
|

13.08.2011, 01:44
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
покажи его
если он похож на
var myData = new Array(['Петя', 69.5], ['Вася', 2.8], ['Маша', 5.6], ['Саша', 2.8], ['Жопа', 14.6], ['Светлана', 2.7], ['Кирилл', 1.9]);
то дело в шляпе
|
|

13.08.2011, 01:49
|
 |
Профессор
|
|
Регистрация: 08.08.2011
Сообщений: 191
|
|
такой же, я понимаю что в шляпе у меня проблема только в синтаксисе я просто не знаю куда вставить в код графика чтобы он работал
[{"id_p":"Вася","ocenka":34}
{"id_p":"Петя","ocenka":15}
{"id_p":"Лена","ocenka":10}
{"id_p":"Кирилл","ocenka":12}]
|
|

13.08.2011, 07:26
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
Сообщение от Sadist_dead
|
[{"id_p":"Вася","ocenka":34}
{"id_p":"Петя","ocenka":15}
{"id_p":"Лена","ocenka":10}
{"id_p":"Кирилл","ocenka":12}]
|
Странный однако массив, а где запятые после объектов?
добавьте:
complete: function( xhr ) {
alert( xhr.responseText );
}
Если выведет то что посылает сервер, значит функция работает норм и просто не удалось вашу json строку перевести в объект. success выполниться тока в том случае если входные данные будут соответствовать тому какой указан dataType
|
|
|
|