Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Problem z if
ComBox
post
Post #1





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 11.09.2006
Skąd: Bydgoszcz

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


Witam!
Nie mogę rozwiązać następującego problemu (męczę się już 2 dzień...):

  1. <?php
  2. ini_set('display_errors', 1);
  3.  
  4. $id = $_GET['id'];
  5. $rok = $_GET['rok'];
  6. $miesiac = $_GET['miesiac'];
  7. $v = $_GET['v'];
  8. //$id = 1;
  9. //$rok = 2007;
  10. //$miesiac = 06;
  11. //$v = 'dziennie';
  12.  
  13. include('includes/config.inc.php');
  14. include('includes/functions.inc.php');
  15.  
  16. $connect = mysql_connect($db_host, $db_user, $db_pass)
  17. or die("Polaczenie z MySQL nie udane. Prosimy sprobowac za chwile.");
  18. mysql_select_db($db_name)
  19. or die("Wybranie bazy MySQL nie udane.");
  20.  
  21. $prefix = PREFIX;
  22.  
  23. $gat = mysql_query("SELECT * FROM `{$prefix}gatunki` WHERE `id` = '$id' LIMIT 1");
  24. while($rekord = mysql_fetch_array($gat))
  25. {
  26. $id = $rekord['id'];
  27. $gatunek = $rekord['gatunek'];
  28.  
  29. if($v == 'dziennie')
  30. {
  31. fi($miesiac == '02')
  32. $data = view_dzien_luty($prefix, $id, $rok, $miesiac);
  33. elseif($miesiac == '01' or $miesiac == '03' or $miesiac == '05' or $miesiac == '07' or $miesiac == '08' or $miesiac == '10' or $miesiac == '12')
  34. $data = view_dzien_up($prefix, $id, $rok, $miesiac);
  35. else
  36. $data = view_dzien_dow($prefix, $id, $rok, $miesiac);
  37. }
  38. elseif($v == 'miesiecznie')
  39. $data = view_miesiac($prefix, $id, $rok);
  40. }
  41. else
  42. die('error Yxaqq1');
  43.  
  44. //$data = view_dzien_dow($prefix, $id, $rok, $miesiac);
  45.  
  46. $miesiacpl = miesiacpl($miesiac);
  47.  
  48. # PHPlot Example: Bar chart, 3 data sets, unshaded
  49. require_once 'includes/phplot.php';
  50.  
  51. $plot =& new PHPlot(600, 300);
  52. $plot->SetImageBorderType('plain');
  53.  
  54. $plot->SetPlotType('bars');
  55. $plot->SetDataType('text-data');
  56. $plot->SetDataValues($data);
  57.  
  58. # Main plot title:
  59. $plot->SetTitle("$gatunek - $miesiacpl $rok");
  60.  
  61. # No 3-D shading of the bars:
  62. $plot->SetShading(0);
  63.  
  64. # Make a legend for the 3 data sets plotted:
  65. //$plot->SetLegend(array('historia'));
  66.  
  67. # Turn off X tick labels and ticks because they don't apply here:
  68. $plot->SetXTickLabelPos('none');
  69. $plot->SetXTickPos('none');
  70.  
  71. $plot->DrawGraph();
  72. }
  73.  
  74. ?>



Problem jest tutaj:
jesli zahaszuje ten kod
  1. <?php
  2. if($v == 'dziennie')
  3. {
  4. fi($miesiac == '02')
  5. $data = view_dzien_luty($prefix, $id, $rok, $miesiac);
  6. elseif($miesiac == '01' or $miesiac == '03' or $miesiac == '05' or $miesiac == '07' or $miesiac == '08' or $miesiac == '10' or $miesiac == '12')
  7. $data = view_dzien_up($prefix, $id, $rok, $miesiac);
  8. else
  9. $data = view_dzien_dow($prefix, $id, $rok, $miesiac);
  10. }
  11. elseif($v == 'miesiecznie')
  12. $data = view_miesiac($prefix, $id, $rok);
  13. }
  14. else
  15. die('error Yxaqq1');
  16.  
  17. //$data = view_dzien_dow($prefix, $id, $rok, $miesiac);
  18. ?>

i odhaszuje
  1. <?php
  2. //$data = view_dzien_dow($prefix, $id, $rok, $miesiac);
  3. ?>

to wszystko dziala prawidlowo..... Pomozcie, bylbym bardzo wdzieczny.
Pozdrawiam

PS. prosze nie patrzec na brak filtrowania zmiennych $_GET, poniewaz to wykonam troche pozniej.

Ten post edytował ComBox 13.01.2007, 16:48:17
Go to the top of the page
+Quote Post
Cienki1980
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Może wskaż miejsce gdzie nie działa i jak powinno działać ... będzie wygodniej.


--------------------
404
Go to the top of the page
+Quote Post
plisek
post
Post #3





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 28.08.2005

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


po pierwsze, pokaz jaki konkretny błąd wywala, bo troche cięko jasnowidztwo uprawiać bez całości

po drugie popraw linijkę
  1. <?php
  2. fi($miesiac == '02')
  3. ?>
, bo raczej tam if stac powinno, chyba ze to tylko bład przy kopiowaniu ;P


pozdrawiam


--------------------
ThE EnD oF ThE InTErnEt !
pasy zabezpieczające
Go to the top of the page
+Quote Post
ComBox
post
Post #4





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 11.09.2006
Skąd: Bydgoszcz

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


Blad jest tutaj:

  1. <?php
  2. if($v == 'dziennie')
  3. {
  4. if($miesiac == '02')
  5. $data = view_dzien_luty($prefix, $id, $rok, $miesiac);
  6. elseif($miesiac == '01' or $miesiac == '03' or $miesiac == '05' or $miesiac == '07' or $miesiac == '08' or $miesiac == '10' or $miesiac == '12')
  7. $data = view_dzien_up($prefix, $id, $rok, $miesiac);
  8. else
  9. $data = view_dzien_dow($prefix, $id, $rok, $miesiac);
  10. }
  11. elseif($v == 'miesiecznie')
  12. $data = view_miesiac($prefix, $id, $rok);
  13. ?>
Go to the top of the page
+Quote Post
Cienki1980
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Ale jaki błąd questionmark.gif co się powinno dziać a co się dzieje questionmark.gif


--------------------
404
Go to the top of the page
+Quote Post
ComBox
post
Post #6





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 11.09.2006
Skąd: Bydgoszcz

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


Powinno wywolac funkcje, ktorej wynik jest zapisywany do $data, nastepnie biblioteka wyswietla obrazek na podstawie $data. Jesli pomine ta konstrukcje if i zastapie je np tym:

  1. <?php
  2. $data = view_miesiac($prefix, $id, $rok);
  3. ?>


To wszystko dziala prawidlowo. Z ifami nic sie nie dzieje, biala strona.

Ten post edytował ComBox 13.01.2007, 16:00:18
Go to the top of the page
+Quote Post
Cienki1980
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Strzelam dwie możliwości:
1. Albo zmienna $miesiac jest pusta / albo zmienna $v

2.Funkcje do tworzenia zmiennej $data nie działają poprawnie.

Ten fragment kodu który podałeś ostatnio działa jak najbardziej poprawnie ... zmieniając wartość zmiennej $miesiac wchodze w odpowiedniego if'a


--------------------
404
Go to the top of the page
+Quote Post
ComBox
post
Post #8





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 11.09.2006
Skąd: Bydgoszcz

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


Cytat(Cienki1980 @ 13.01.2007, 16:08:12 ) *
Strzelam dwie możliwości:
1. Albo zmienna $miesiac jest pusta / albo zmienna $v

2.Funkcje do tworzenia zmiennej $data nie działają poprawnie.

Ten fragment kodu który podałeś ostatnio działa jak najbardziej poprawnie ... zmieniając wartość zmiennej $miesiac wchodze w odpowiedniego if'a


1. Sprawdzilem przez var_dump() i sa prawidlowe (oczywiscie, jesli usune ify).
2. Dzialaja prawidlowo, jesli usune te ify....
Go to the top of the page
+Quote Post
Cienki1980
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


A powstawiaj zamiast tych funkcji jakieś proste echo np tak:

  1. <?php
  2. if($v == 'dziennie')
  3. {
  4.  if($miesiac == '02')
  5. echo "luty";
  6.  elseif($miesiac == '01' or $miesiac == '03' or $miesiac == '05' or $miesiac == '07' or $miesiac == '08' or $miesiac == '10' or $miesiac == '12')
  7. echo "ma 31 dni";
  8.  else
  9. echo "ma 30 dni";
  10.  
  11. }
  12. elseif($v == 'miesiecznie')
  13. {
  14.  echo "miesiecznie";
  15. }
  16. ?>


Jeżeli to też Ci nie zadziała, znaczy że skopane są jednak zmienne $miesiac i/lub $v
Jeżeli to Ci zadziała, znaczy że skopane są funkcje produkujące zmienną $data.


--------------------
404
Go to the top of the page
+Quote Post
ComBox
post
Post #10





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 11.09.2006
Skąd: Bydgoszcz

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


Nawet jak zrobi cos takiego:

  1. <?php
  2. $id = 1;
  3. $rok = 2007;
  4. $miesiac = '06';
  5. $v = 'dziennie';
  6. if($v == 'dziennie')
  7. {
  8. if($miesiac == '02')
  9. echo 'dzien_luty';
  10. //$data = view_dzien_luty($prefix, $id, $rok, $miesiac);
  11. elseif($miesiac == '01' or $miesiac == '03' or $miesiac == '05' or $miesiac == '07' or $miesiac == '08' or $miesiac == '10' or $miesiac == '12')
  12. echo 'dzien_up';
  13. //$data = view_dzien_up($prefix, $id, $rok, $miesiac);
  14. else
  15. echo 'dzien_dow';
  16. //$data = view_dzien_dow($prefix, $id, $rok, $miesiac);
  17. }
  18. elseif($v == 'miesiecznie')
  19. //$data = view_miesiac($prefix, $id, $rok);
  20. echo 'miesiecznie';
  21. }
  22. else
  23. die('error Yxaqq1');
  24. ?>

To sie nic nie wyswietla....
Go to the top of the page
+Quote Post
Cienki1980
post
Post #11





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


No to masz problem ...
Skopiowałem Twój kod .. wywaliłem jeden niepotrzebny nawias }
i proszę

dokladnie Twój przyklad

opcja z dzien_up

opcja z dzien luty

opcja z dzien_down

Edit:
Jeżeli dodasz do paska adresu zmienną v=miesiecznie .... zmieni się też napis na miesięcznie

Ten post edytował Cienki1980 13.01.2007, 16:35:13


--------------------
404
Go to the top of the page
+Quote Post
ComBox
post
Post #12





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 11.09.2006
Skąd: Bydgoszcz

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


O kurcze, zawsze tak bywa, ze jakis glupi blad i sie 2 dni traci..... Naprawde wielkie dzieki za spojrzenie na to trzezwym okiem guitar.gif
Pozdrawiam i zycze braku takich bledow
Go to the top of the page
+Quote Post
mike
post
Post #13





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


~ComBox przeczytaj (bo najwidoczniej tego nie zrobiłeś) to: Regulamin :: Zakładanie nowego tematu (topic). i popraw tytuł wątku.
Ma on nas informować o tym co jest w środku a nie nawiązywać do Twoich spostrzeżeń, przemyśleń bądź stanów emocjonalnych.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 07:54