Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]problem z tablicami
Forum PHP.pl > Forum > Przedszkole
kalit
Witam. Mam taki problem a dokładnie z tym (dodam że jest to robione z pomocą Zend Framework):


  1. $profil = $show->show_user($this->_request->getParam("user"));
  2. if(is_array($profil)){
  3. $this->view->error_text = "A";
  4. }
  5. elseif($profil == 1) $this->view->error_text = "Parametr nie jest zmienną ID !!";
  6. elseif($profil == 2)$this->view->error_text = "Nie ma takiego użytkownika";
  7.  


Ciągle wyświetla mi warunek "Parametr nie jest zmienną ID exclamation.gif" chodź sprawdzam czy jest to zmienna array

Tu dodam jak wygląda funkcja show_user():


  1. public function show_user($id){
  2.  
  3. $sql_user = $this->fetchAll($this->select()->where("id = ?",$id));
  4.  
  5. if(count($sql_user) != 0){
  6. return $sql_user;
  7. }
  8. //nie ma takiego użytkonwika o tym ID
  9. else return 2;
  10. }
  11. //$id nie jest liczbą !!
  12. else return 1;
  13.  
  14. }


nospor
a czy tak ciezko zrobic:
$profil = $show->show_user($this->_request->getParam("user"));
var_dump($profil);
I się upewnic co tam tak naprawdę jest?

Cytat
chodź sprawdzam czy jest to zmienna array
widac twoja funkcja zwraca ci wlasnie 1. Skoro zwraca ci 1 to co z tego ze porownasz ją do array?

if(is_numeric(ctype_digit($id))){
fajny warunek. Zawsze, ale to zawsze nieprawdziwy.... zobacz co zwraca ctype_digit()

http://pl2.php.net/ctype_digit
kalit
przyczyna była prosta zamiast funkcji
użyłem
  1. get_class()
i od razu zadziałało ;p
nospor
Niemozliwe.
Jak juz mowilem:
if(is_numeric(ctype_digit($id))){
zawsze zwraca ci false, a co za tym idzie Twoja funkcja zawsze zwracała 1. Danie get_class zamiast is_array nie powinno w niczym pomoc
musiales zmienic cos jeszcze smile.gif
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.