Patryk Malaca

Patryk Malaca Obecnie pracuję na
stażu

Temat: Ustawienie odpowiednio ciastek w PHP

Mam element strony z wykresami w technologii Google Chart
Całość tradycyjnie składa się z 3ech plików:
- pluginu
- widoku
- klasy (modelu)

W modelu mam zapytania MySQl, które wykorzystują dane pochodzące z bazy danych. Zapytania te są wykorzystywane do rysowania wykresów.
W pliku widoku jest zawarta cała technologia rysowania z google chart.
Całość jest sprawna i działa natomiast przy wykresach są filtry, w których użytkownik może sobie filtrować dane.
Na przykład może sprawić by wyświetlały się tylko dane z zakresów od do itp. Filtry są elementem googleChart.
Dorobiłem możliwość zmiany typu wykresu. Słupkowe, kołowe, linowe itp

Problem, który chcę rozwiązać polega na tym, że jeśli sobie filtruję w jakiś sposób dane i zmienię typ wykresu to wykres wraca mi do stanu początkowego (bez filtrowania).
Chciałbym aby zmiany były zachowane po zmianie typu wykresu dla tego użytkownika do końca przeglądania przez niego tego wykresu.
Słyszałem, że mogę to zrealizować poprzez ciasteczka.
Proszę o info jak mam to zrobić. W którym pliku trzeba je ustawiać i jak?Patryk Malaca edytował(a) ten post dnia 21.08.12 o godzinie 09:02

konto usunięte

Temat: Ustawienie odpowiednio ciastek w PHP

http://lmgtfy.com/?q=php+ciasteczka
Patryk Malaca

Patryk Malaca Obecnie pracuję na
stażu

Temat: Ustawienie odpowiednio ciastek w PHP

Przeczytałem kilak artykułów i manuala do funkcji ciastek w php ale nadal nie wiem jak to wykorzystać w moim przypadku

konto usunięte

Temat: Ustawienie odpowiednio ciastek w PHP

Zauważ że podałeś nam kod JavaScript a pytasz jak to zrobić w PHP. Więc jedyne co mogłem zrobić to dać Ci instrukcję jak to zrobić w PHP. Logiczne prawda ? Będzie Ci potrzebne jeszcze to:

http://lmgtfy.com/?q=javascript+ciasteczka

W praktyce wygląda tak że zmieniając kontrolki w JS tworzysz jakieś tam ciasteczka. Wartości te odczytujesz w PHP przy wyświetlaniu strony i ustawiasz odpowiednio opcje wykresu. Bez szklanej kuli więcej nie pomogę.
Patryk Malaca

Patryk Malaca Obecnie pracuję na
stażu

Temat: Ustawienie odpowiednio ciastek w PHP

Powiedzmy, że mam wykres ilości zebranych jabłek w tonach w sadzie w poszczególnych latach. Mam więc kolumny rok miesiac ilosc.
Teraz po wczytaniu wykresu mam wszystkie lata i meisiace pokazane. Za pomocą kontroli z Google Chart robię selektora na rok i miesiąc.
Teraz mogę sobie wybrać np tylko rok 2011 i przefiltruje mi dane tylko dla roku 2011.
Ten selektow wstawiam za pomocą funkcji google w ten sposób:
var options1 =
{
'title':'Zbiory jablek',
'charWidth':300,
'chartHeight':200,
'chartLegend':'yes',
'tableWidth':200,
'tableHeight':300,
'controls':
[

{
'controlType':'CategoryFilter',
'filterColumnLabel':'Rok'
},
{
'controlType':'CategoryFilter',
'filterColumnLabel':'Miesiąc'
}
]}

Jak widać zmiany są realizowane w przeglądarce, nie są wysyłane do serwera. Jak więc mogę sprawić by po zmianie typu wykresu wykres nie wracał do ostaci wszystkich lat a tylko tego wybranego selektorem?

konto usunięte

Temat: Ustawienie odpowiednio ciastek w PHP

Przy okazji, jakbyś potrzebował ustawiać ciasteczka z dowolnego miejsca w kodzie PHP:


function phpCookie($action, $name, $value) {
echo '<script type="text/JavaScript">
$("#ajax").load("./ajax/cookie.php?action='.$action.'&name='.$name.'&value='.$value.'&rand='.mt_rand(0, 1000000).'");
</script>';
}


cookie.php:


<?php

$value = urldecode($_GET['value']);

switch($_GET['action']) {
case 'set':
setcookie($_GET['name'], $value, mktime()+60*60*24*365, '/');
break;
case 'unset':
setcookie($_GET['name'], '', mktime()-60*60*24*365, '/');
break;
}
?>

Następna dyskusja:

Narzędzia do PHP




Wyślij zaproszenie do