Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> początki php5 mały kłopot
acztery
post 5.05.2006, 22:54:51
Post #1





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

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


witam mam coś takiego:

  1. <?php
  2. class basket {
  3.  
  4. public $meSES;
  5. public $meUID;
  6.  
  7.  function __construct($meSES, $meUID){
  8.  
  9. $this->meSES = $meSES;
  10. $this->meUID = $meUID;
  11.  
  12. return;
  13.  
  14. }
  15.  
  16. public function sum_prince_bsket() {
  17. global $db;
  18.  
  19. $SQL = " SELECT SUM(prinall) FROM add_basket WHERE user_id='$this->meUID' AND ses='$this->meSES'";
  20.  
  21. $data = $db ->getAll ( $sql );
  22. return $kwota;
  23.  
  24. }
  25. ?>


żeby działało musze w każej funkcji dawać global $db; a nie da sie jakoś zadeklarować tego w calej klasie ? a zmienna db to:

  1. <?php
  2. $dsn = 'mysql://root:root@localhost/cabin';
  3. $db = DB::connect( $dsn );
  4. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
mike
post 5.05.2006, 22:59:14
Post #2





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

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


Możesz przekazać $db do konstruktora i trzymać go w polu prywatnym.
Lub po prostu połączyć się z bazą danych w konstruktorze i tak jak w poprzednim przypadku, trzymac to połączenie w polu prywatnym
Go to the top of the page
+Quote Post
acztery
post 5.05.2006, 23:06:11
Post #3





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

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


nie wiem czy dobrze :

  1. <?php
  2. class basket {
  3.  
  4. public $meSES;
  5. public $meUID;
  6. private $db;
  7.  
  8.  function __construct($meSES, $meUID, $db){
  9.  
  10. $this->meSES = $meSES;
  11. $this->meUID = $meUID;
  12. $this->db = $db;
  13. return; 
  14.  
  15. }
  16.  
  17.  
  18. public function sum_prince_bsket() {
  19. //global $db;
  20.  
  21. $SQL = " SELECT SUM(prinall) FROM add_basket WHERE user_id='$this->meUID' AND ses='$this->meSES'";
  22.  
  23. $data = $db ->query ( $sql );
  24.  
  25. return; $kwota;
  26.  
  27.  
  28. }
  29. ?>


jezeli dam global $db; to dziala tzn cos tam wyswetla ale tego tam nie ma wyniku tego zapytania

chyba ze ja zle to odczytuje chce ta sume przypisac do zmiennej $kowot jakies pomysly
Go to the top of the page
+Quote Post
Kuziu
post 6.05.2006, 02:05:52
Post #4





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

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


Po 1 raz masz $SQL a raz $sql co już nie zadziała. Wielkość liter zmiennych ma znaczenie.

  1. <?php
  2. $data = $this->db->query($sql);
  3. ?>


I z tego chyba będziesz musiał jeszcze wyciągnąć pola albo mysql_fetch_array albo czymś innym. Tak to pod zmienną $data dostajesz wynik zapytania do MySQL'a a nie wartośc tego pola


--------------------
Słońce zachodzi ... kolejna noc nadchodzi ...
Go to the top of the page
+Quote Post
acztery
post 6.05.2006, 08:10:42
Post #5





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

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


nie mysql_fetch_array zadziala tylko na mysql

  1. <?php
  2. $db->getOne()
  3. ?>


to w przypadku SUM, count itp gdzie chce 1 pole. a jak więcej to:

  1. <?php
  2. $db->getAll();
  3. ?>


chyba winksmiley.jpg
Go to the top of the page
+Quote Post
mike
post 6.05.2006, 08:35:16
Post #6





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

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


A może tak zaczniesz uważać na regulamin i poprawisz temat na zdodny z Regulaminem?
Go to the top of the page
+Quote Post
acztery
post 6.05.2006, 10:01:22
Post #7





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

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


poprawił bym gdybym wiedzial co

PS teraz mi mówisz ze coś nie tak z moim tematem czemu nie wcześniej?
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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 17:19