Есть следующие запросы выводящие некоторые данные: Код (Text): $sql = "SELECT * FROM `zakaz`"; $result = mysql_query($sql)or die ("Query failed: " .mysql_error()); $num_rows = mysql_num_rows($result); echo " Всего произведено заказов $num_rows\n<br>"; $sql2 = "SELECT * FROM `rabota`WHERE sost_id =1"; $result2 = mysql_query($sql2)or die ("Query failed: " .mysql_error()); $num_rows2 = mysql_num_rows($result2); echo " Из них выполнено $num_rows2\n<br>"; $sql3 = "SELECT * FROM `rabota`WHERE sost_id =0"; $result3 = mysql_query($sql3)or die ("Query failed: " .mysql_error()); $num_rows3 = mysql_num_rows($result3); echo " Из них в работе $num_rows3\n<br>"; $sql4 = "SELECT * FROM `rabota`WHERE sost_id =2"; $result4 = mysql_query($sql4)or die ("Query failed: " .mysql_error()); $num_rows4 = mysql_num_rows($result4); echo " Из них отказано $num_rows4\n<br>"; Есть также папка pChart, со всем ее содержимым. Вопрос, как мне прикрутить эту папку к денверу и создать круговую диаграмму. Как ни пытался, не получается. Пожалуйста, ну очень интересно, как это работает.
Весь инет перерыл, но ничего так и не нашел по pChart, может кто знает как построить данную диаграмму другим способом? Только мне интересен не просто рисунок а динамическая диаграмма, связанная с постоянно меняющимися данными. Будьте добры подскажите пожалуйста, но только не простой ссылкой гугл, там многое друг у друга поскачивают, не удосужась даже в работе скриптов. Перепробовал несколько способов, на всех сервер ругается на эту строку: Код (Text): Header ('Content-type: image/png',true); Говорит что заголовки уже посылались. Может это проблема ДЕНВЕРА?
это точно не проблема денвера. если говорит, что уже посылались, значит должен сказать и где они посылались до этого - нужно пойти туда и убрать оттуда все переносы строк, пробелы, БОМ и прочее, выводящееся браузеру
Выдает в браузере:Warning: Cannot modify header information - headers already sent by (output started at z:\home\stopauto.kz\www\office\office_blocks\blocks1.php:9) А вот эта строка: Код (Text): <table width="100%" cellpadding="0" cellspacing="0" bordercolor="#2A3F00"> В чем здесь ошибка? Убрать лишние (пустые) атрибуты?
Gromo В первом сообщении я показал запросы и вывел результаты в текстовом формате для наглядности (временно, что бы знать, что результат выводится правильно. Вопрос в том, что я вообще не могу на странице создать графику. Ругается на заголовки, что они уже посылались.
Вот полный текст ошибки: Warning: Cannot modify header information - headers already sent by (output started at z:\home\stopauto.kz\www\office\office_blocks\blocks1.php:9) in z:\home\stopauto.kz\www\office\statistika.php on line 32 Строка №9 выглядет уже вот так: Код (Text): <table width="100%"> Строка № 32 вот так: Код (Text): header("Content-type: image/png"); $img=ImageCreate(500,200);
генерирует изображение, ссылку на которое нужно вставлять в хтмл код <img src="/path/to/pchart_with_params">
Gromo Я страницу разбил на две части, т.е.: в первую часть я сохранил начало страницы до вывода контента, а во вторую чать я сохранил все, что после контента. Может мешать созданию графики то, что отрытие тэгов находится в первом подключаемом файле, а закрытие их во втором?
Вот набросок, который пытаюсь отобразить на странице: Код (Text): <?php $goods[0]=30; $goods[1]=50; $goods[2]=100; $goods[3]=70; $sum=0; foreach($goods as $a) {$sum=$sum+$a;} $count=count($goods)-1; for($i=0;$i<=$count;$i++) {$part[$i]=round($goods[$i]/$sum*500,0);} $max=max($goods); for($j=0;$j<=$count;$j++) {$column[$j]=round($goods[$j]/$max*100,0);} $img=ImageCreate(500,200);#Здесь создается заголовок png-файла и основа рисунка. $white=ImageColorAllocate($img,255,255,255); $red=ImageColorAllocate($img,255,0,0); $green=ImageColorAllocate($img,0,255,0); $blue=ImageColorAllocate($img,0,0,255); $gray=ImageColorAllocate($img,128,128,128); #Здесь определяются цвета. Разумеется, их может быть больше (и меньше). $color=array($red,$green,$blue,$gray); #Здесь создаем массив цветов - красный, зеленый, синий и черный. $x1=0;$x2=0; for($i=0;$i<=$count;$i++) { $x2=$x1+$part[$i]; ImageFilledRectangle($img,$x1,20,$x2,80,$color[$i]); $x1=$x2; } $x=0; $y=0; $width=50; for($j=0;$j<=$count;$j++) { $y=199-$column[$j]; ImageFilledRectangle($img,$x,$y,$x+$width,199,$color[$j]); $x=$x+$width; } ImagePNG($img); ?> У меня рисует абракадабру в текстовом формате: Код (Text): ‰PNG ��� IHDR��ф���И���м7Ы���PLTEяяяя���я���яЂЂЂЁbi���эIDATxњнЬA Ђ0EA,`$аЂM(Ђ¤IKЫП<;ЧНf—E’$I’$IR—ЦЧ¶вЋєЄ„ЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЋЮњ.I’$I’¤9{ЬнЅ'k:::zxиииибЎЈЈЈ‡‡ЋЋЋ:::zxиии?§?ЭџЅG®:::::::z@ииииииииеУЛq ЈЈЈO::::::::::ъ\ЎЈ'ТЛїзўЈЈЈЈЈЈЈ::::::::::::::ъxЎЈЈЈЈ‡Тoљ№я Е5Н����IEND®B`‚ В чем проблема?
как раз для этого и нужны заголовки, что это изображение пнг, а то браузер воспринимает как текст. вообще, задача решается разделением вывода хтмл и изображения. в хтмл даётся ссылка на пхп скрипт, генерирующий изображение
Уррррраааа, заработала!!!! Получилось, но только с помощью jQ и плагина jqPlot. Думаю, что тему можно закрыть. Буду дальше разбираться с плагином.