Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [mysql - php] problem z warunkiem
DannyM
post
Post #1





Grupa: Zarejestrowani
Postów: 507
Pomógł: 2
Dołączył: 30.10.2003
Skąd: Poznań

Ostrzeżenie: (10%)
X----


Mam taki sobie problem.

Mam komorke w bazie, ktora ma nazwe product_special i zapisywane jest w niej Y jesli w promocji lub puste bez promocji.
Napisalem sobie taki warunek

  1. <?php
  2. if ($db_browse->f("product_special") == "Y") {
  3. $product_special = "PROMOCJA";
  4. } elseif ( empty($product_special)) {
  5. $product_special = "BEZ PROMOCJI"; 
  6. } else {
  7. $product_special = "ZONG";
  8. }
  9. ?>


Potem mam:

  1. <?php
  2. $product_cell = str_replace( "{product_special}", $product_special, $product_cell );
  3. ?>

gdzie w templetce {product_special} zamienia sie na odpowiedni napis.

Ale niestety nie dziala. Wydaje mi sie, ze jest to dosc prosty kawalek kodu ale musze prosic o pomoc.
Go to the top of the page
+Quote Post
Ludvik
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 698
Pomógł: 3
Dołączył: 28.03.2004
Skąd: Wrocław

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


Może po prostu użyj w tabeli pola typu bool? Wtedy możesz w prostszy sposób porównywać...
  1. <?php
  2. if ($db_browse->f('product_special')) {
  3. // Promocja
  4. } else {
  5. // Bez promocji...
  6. }
  7. ?>
Go to the top of the page
+Quote Post
DannyM
post
Post #3





Grupa: Zarejestrowani
Postów: 507
Pomógł: 2
Dołączył: 30.10.2003
Skąd: Poznań

Ostrzeżenie: (10%)
X----


Robilem i tak ale niestety oporne to jak osioł (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

  1. <?php
  2. if ($db_browse->f("product_special") == "Y") {
  3. $product_special="PROMOCJA";
  4. } else {
  5. $product_special = "ZONG";
  6. }
  7. ?>


Efektem tego jest zawsze ZONG

Ten post edytował DannyM 13.07.2006, 21:39:26
Go to the top of the page
+Quote Post
slash12345
post
Post #4





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 21.04.2006

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


Zrób dump wszystkich zmiennych jakie są tam użyte, napisz go tutaj i będzie nam o wiele łatwiej Ci pomóc.

--Wystarczyłby dump, nie potrzebujemy całego kodu--

Ten post edytował slash12345 13.07.2006, 21:54:04
Go to the top of the page
+Quote Post
DannyM
post
Post #5





Grupa: Zarejestrowani
Postów: 507
Pomógł: 2
Dołączył: 30.10.2003
Skąd: Poznań

Ostrzeżenie: (10%)
X----


za duzy ten kod ale calosc mozna zobaczyc

kod
Go to the top of the page
+Quote Post
slash12345
post
Post #6





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 21.04.2006

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


Jeśli coś nie działa z bazami danych, prawdopodobnie jest to samo zapytanie. Sprawdź, czy w ogóle cokolwiek jest zwracane po wykonaniu zapytania do bazy.
Go to the top of the page
+Quote Post
DannyM
post
Post #7





Grupa: Zarejestrowani
Postów: 507
Pomógł: 2
Dołączył: 30.10.2003
Skąd: Poznań

Ostrzeżenie: (10%)
X----


jakas sugestia? przyklad (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował DannyM 13.07.2006, 22:01:39
Go to the top of the page
+Quote Post
-Gość-
post
Post #8





Goście







  1. <?php
  2. var_dump($db_browse->f("product_special"));
  3. var_dump($db_browse);
  4. ?>
Go to the top of the page
+Quote Post
DannyM
post
Post #9





Grupa: Zarejestrowani
Postów: 507
Pomógł: 2
Dołączył: 30.10.2003
Skąd: Poznań

Ostrzeżenie: (10%)
X----


przy

  1. <?php
  2. var_dump($db_browse->f("product_special"));
  3. ?>


Daje NULL

  1. <?php
  2. var_dump($db_browse);
  3. ?>


zwraca zala zawartosc tabeli ale nie ma tam w spisie product_special. Czy to moze byc powodem nie dzialania warunku?

Ten post edytował DannyM 13.07.2006, 22:16:33
Go to the top of the page
+Quote Post
slash12345
post
Post #10





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 21.04.2006

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


A więc teraz pytanie, co robi f()
To pewnie jakaś metoda includowanej klasy?
Trzeba jedynie sprawdzić jak to coś komunikuje się z bazą i czemu f() nic nie zwraca (i czy w ogóle powinno coś zwracać)
Go to the top of the page
+Quote Post
DannyM
post
Post #11





Grupa: Zarejestrowani
Postów: 507
Pomógł: 2
Dołączył: 30.10.2003
Skąd: Poznań

Ostrzeżenie: (10%)
X----


Mam juz podobny kod w innym miejscu i tam dziala. Sprawdzilem i chyba wiem gdzie jest blad. Wydaje mi sie, ze zwyczajnie nie pobiera z tabeli product_special. Musze tylko teraz poszukac gdzie pobiera dane z bazy.

--------------------

Dziekuje bardzo za pomoc (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Znalazlem. Zwyczajnie jak juz wspomnialem nie bylo to pole dopisane do SELECT.
Ale dzieki var_dump dowiedzialem sie o tym.
Wlasnie nauczylem sie ciekawej funkcji (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Jeszcze raz dzieki i pozdrawiam

Ten post edytował DannyM 13.07.2006, 23:09:23
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 - 13:09