Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql - php] problem z warunkiem
Forum PHP.pl > Forum > Przedszkole
DannyM
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.
Ludvik
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. ?>
DannyM
Robilem i tak ale niestety oporne to jak osioł 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
slash12345
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--
DannyM
za duzy ten kod ale calosc mozna zobaczyc

kod
slash12345
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.
DannyM
jakas sugestia? przyklad smile.gif
Gość
  1. <?php
  2. var_dump($db_browse->f("product_special"));
  3. var_dump($db_browse);
  4. ?>
DannyM
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?
slash12345
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ć)
DannyM
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 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 winksmiley.jpg

Jeszcze raz dzieki i pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.