Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Wykres w PHP
graby0
post
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 16.06.2013

Ostrzeżenie: (0%)
-----


Witam, potrzebuję zrobić wykres na którym przedstawię jakieś dane liczbowe lecz nie wiem jak się za to zabrać. W internecie jest trochę kodów, przykładów ale kiedy przekopiowuję je aby zobaczyć wykres na "żywo" to wyskakują błędy. Dane będą brane z bazy danych.
Przykładem takiego wykresu jest wykres kołowy stąd.

Czyli kod wykresu
Kod
<?php
include_once(‚./LabChartsPie.php’);
$LabChartsPie = new LabChartsPie();
$LabChartsPie->setData(array(100, 200, 200, 200, 430, 760, 54));
echo ‚<img src=”‚.$LabChartsPie->getChart().‚” />’;
?>

oraz jego błędy
Kod
Warning: include_once(./LabChartsPie.php): failed to open stream: No such file or directory in C:\xampp\htdocs\strona\gotowykomputer.php on line 177
Warning: include_once(): Failed opening './LabChartsPie.php' for inclusion (include_path='.;\xampp\php\PEAR') in C:\xampp\htdocs\strona\gotowykomputer.php on line 177
Fatal error: Class 'LabChartsPie' not found in C:\xampp\htdocs\strona\gotowykomputer.php on line 178


Ten post edytował graby0 24.10.2013, 14:44:33
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
patrysiek2
post
Post #2





Grupa: Zarejestrowani
Postów: 108
Pomógł: 5
Dołączył: 8.12.2011
Skąd: Łomża

Ostrzeżenie: (0%)
-----


www.php.pl/Wortal/Artykuly/PHP/Biblioteki/Generowanie-grafiki-w-PHP/Przyklad-3.-Generowanie-wykresow-w-PHP


Go to the top of the page
+Quote Post
graby0
post
Post #3





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 16.06.2013

Ostrzeżenie: (0%)
-----


Udało mi się rozwiązać ten problem:
Kod
<?php
$dane[] = array('Download',435);
$dane[] = array('Forum',234);
$dane[] = array('FAQ',369);
$dane[] = array('Licznik',517);
$dane[] = array('Artykuły',135);

// Pobieramy największy element
$max = 0;
foreach ($dane as $dana)
    if ($dana[1]>$max) $max = $dana[1];

// Obliczamy mnożnik
$mnoznik = 150/$max; // 150 to nasza maksymalna długość słupka

// No i do roboty
echo '<table border="0" cellspacing="0" cellpadding="4"';
foreach ($dane as $dana)
{
    echo   '<div class="wykres" style="text-align:left;">'  . '<tr><td>'.$dana[0].'</td><td><img src="img/bar1.gif" height="17" width="'.round($dana[1]*$mnoznik).'"><img src="img/barend.gif"></td><td>'.$dana[1].'</td></tr>'.'</div>';
}
echo '</table>';
?>


lecz teraz potrzebuję zmienić dane w array'u na dane z bazy danych. To znaczy że mam wyciągnąć z tabeli "ABC" wartości "Imie" i "Rok urodzenia".

Kod
$query = "SELECT nick,ocena FROM gotowykomputer_komentarze";     
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($result) or die(mysql_error());

while ($row = mysql_fetch_array($result)) {
    $dane[] = array($row['nick'],$row['ocena']);  
}


Jedyny minus tego rozwiązania jest taki że tablica $dane wyświetla od 1 a nie od 0. To znaczy że ucina 1 rekord.

@Dziękuję SmokAnalog za pomoc. Wszytko działa jak należy.

Ten post edytował graby0 25.10.2013, 19:41:50
Go to the top of the page
+Quote Post
SmokAnalog
post
Post #4





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Usuń ten wiersz:
  1. $row = mysql_fetch_array($result) or die(mysql_error());
Go to the top of the page
+Quote Post
graby0
post
Post #5





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 16.06.2013

Ostrzeżenie: (0%)
-----


Z kodem tym

Kod
mysql_query('SET NAMES \'utf8\'');
$query = "SELECT nick,ocena FROM gotowykomputer_komentarze where gotowykomputer_id='$idkomputera'";
$result = mysql_query($query) or die(mysql_error());

while ($row = mysql_fetch_array($result)) {
$dane[] = array($row['nick'],$row['ocena']);
}


mam jeszcze taki problem ze ucina mi pierwszy zapis z bazy. Jeżeli wyniku sql'a nie będzie to wywala błędy kodu ponieważ później wyświetlam tą tablicę.

@ Użyłem if ($dane != null){ } i wszystko działa.

Ten post edytował graby0 26.10.2013, 13:29:45
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 16:57