Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Pobieranie danych z mysql
saviola15
post
Post #1





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 6.09.2012

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


Witam mam tutaj skryp który przerabia cenę po rabacie. Chciałbym żeby na początku wyciągnął samą cenę z tabeli product.price i można było ją wywołać w innym pliku naprzykład $pri;

  1. <?php
  2.  
  3.  
  4. $product.price = $pri;
  5.  
  6.  
  7. class GroupReductionCore extends ObjectModel
  8. {
  9. public $id_group;
  10. public $id_category;
  11. public $reduction;
  12.  
  13.  
  14.  
  15. protected $fieldsRequired = array('id_group', 'id_category', 'reduction');
  16. protected $fieldsValidate = array('id_group' => 'isUnsignedId', 'id_category' => 'isUnsignedId', 'reduction' => 'isPrice');
  17.  
  18. protected $table = 'group_reduction';
  19. protected $identifier = 'id_group_reduction';
  20.  
  21. protected static $reductionCache = array();
  22.  
  23. public function getFields()
  24. {
  25. parent::validateFields();
  26. $fields['id_group'] = (int)($this->id_group);
  27. $fields['id_category'] = (int)($this->id_category);
  28. $fields['reduction'] = (float)($this->reduction);
  29. return $fields;
  30. }
  31.  
  32. public function add($autodate = true, $nullValues = false)
  33. {
  34. return (parent::add($autodate, $nullValues) AND $this->_setCache());
  35. }
  36.  
  37. public function update($nullValues = false)
  38. {
  39. return (parent::update($nullValues) AND $this->_clearCache() AND $this->_setCache());
  40. }
  41.  
  42. public function delete()
  43. {
  44. return $this->_clearCache() AND parent::delete();
  45. }
  46.  
  47. protected function _clearCache()
  48. {
  49. return Db::getInstance()->Execute('DELETE FROM `'._DB_PREFIX_.'product_group_reduction_cache` WHERE `id_group` = '.(int)($this->id_group));
  50. }
  51.  
  52. protected function _setCache()
  53. {
  54. $resource = Db::getInstance()->ExecuteS('
  55. SELECT cp.`id_product`
  56. FROM `'._DB_PREFIX_.'category_product` cp
  57. INNER JOIN `'._DB_PREFIX_.'product` p ON (p.`id_product` = cp.`id_product`)
  58. WHERE cp.`id_category` = '.(int)($this->id_category)
  59. , false);
  60. $query = 'INSERT INTO `'._DB_PREFIX_.'product_group_reduction_cache` (`id_product`, `id_group`, `reduction`) VALUES ';
  61. while ($row = Db::getInstance()->nextRow($resource))
  62. $query .= '('.(int)($row['id_product']).', '.(int)($this->id_group).', '.(float)($this->reduction).'), ';
  63. return Db::getInstance()->Execute(rtrim($query, ', '));
  64. }
  65.  
  66. public static function getGroupReductions($id_group, $id_lang)
  67. {
  68. return Db::getInstance()->ExecuteS('
  69. SELECT gr.`id_group_reduction`, gr.`id_group`, gr.`id_category`, gr.`reduction`, cl.`name` AS category_name
  70. FROM `'._DB_PREFIX_.'group_reduction` gr
  71. LEFT JOIN `'._DB_PREFIX_.'category_lang` cl ON (cl.`id_category` = gr.`id_category` AND cl.`id_lang` = '.(int)($id_lang).')
  72. WHERE `id_group` = '.(int)($id_group)
  73. );
  74. }
  75.  
  76. public static function getValueForProduct($id_product, $id_group)
  77. {
  78. if (!isset(self::$reductionCache[$id_product.'-'.$id_group]))
  79. self::$reductionCache[$id_product.'-'.$id_group] = Db::getInstance()->getValue('SELECT `reduction` FROM `'._DB_PREFIX_.'product_group_reduction_cache` WHERE `id_product` = '.(int)($id_product).' AND `id_group` = '.(int)($id_group));
  80. return self::$reductionCache[$id_product.'-'.$id_group];
  81. }
  82.  
  83. public static function doesExist($id_group, $id_category)
  84. {
  85. return (bool)Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue('SELECT `id_group` FROM `'._DB_PREFIX_.'group_reduction` WHERE `id_group` = '.(int)($id_group).' AND `id_category` = '.(int)($id_category));
  86. }
  87. }


na początku kodu to dodałem:
$product.price = $pri; Jak to dodałem strona mi się wywaliła.. http://www.pneumaticon.pl/presta/ Plik : GroupReduction.php
Go to the top of the page
+Quote Post
jaslanin
post
Post #2





Grupa: Zarejestrowani
Postów: 511
Pomógł: 143
Dołączył: 13.03.2010
Skąd: Jasło

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


w PHP do właściwości obiektów dostajemy się przez operator ->

  1. $product.price = $pri;


to nie wiem w ogóle skąd się wzięło.

Nie piszesz skąd dokładnie chcesz pobrać daną wartość. Ale np. jeżeli chcesz pobrać cenę konkretnego porduktu to w wersji 1.4 (teraz aktualna jest 1.5, ale nie mam z nią doświadczenia), to o ile pamiętam robiło się coś takiego:

  1. $Product = new Product($product_id);
  2. $Product->price;


Ale musisz się upewnić w kodzie jak to jest dokładnie.
Go to the top of the page
+Quote Post
saviola15
post
Post #3





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 6.09.2012

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


  1. $product.price = $pri;


To ja dodałem... Mam wersje 1.4 presty.
Chce poprostu pobrać cenę z bazy mysql product -> price przed rabatem i wczytać ją w templatce naprzykład w product.tpl naprzykład komendą {show pri}

Dodałem
  1. $Product = new Product($product_id);
  2. $pri = $Product->price;
w GroupReduction.php
i wywołałem to w pliku product-lis.tpl {product.pri} Niestety jak widać nic nie pokazuje się pod ceną : http://www.pneumaticon.pl/presta/category.php?id_category=14

Ten post edytował saviola15 24.09.2012, 20:10:53
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 14:44