Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]problem z tablicami
kalit
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 1
Dołączył: 22.02.2009
Skąd: Pomorze : D

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


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. }


Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kalit
post
Post #3





Grupa: Zarejestrowani
Postów: 31
Pomógł: 1
Dołączył: 22.02.2009
Skąd: Pomorze : D

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


przyczyna była prosta zamiast funkcji
użyłem
  1. get_class()
i od razu zadziałało ;p
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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: 19.08.2025 - 07:29