Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: początki php5 mały kłopot
Forum PHP.pl > Forum > Przedszkole
acztery
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. ?>
mike
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
acztery
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
Kuziu
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
acztery
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
mike
A może tak zaczniesz uważać na regulamin i poprawisz temat na zdodny z Regulaminem?
acztery
poprawił bym gdybym wiedzial co

PS teraz mi mówisz ze coś nie tak z moim tematem czemu nie wcześniej?
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.