Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: нужно вытащить из БД
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » нужно вытащить из БД

Страниц (1): [1]
 

1. zmeyx - 21 Декабря, 2014 - 18:15:14 - перейти к сообщению
нужно написать запрос к базе данных по следующему алгоритму:
зайти в БД,
найти таблицу "нужная таблица"
в ней найти строку со значением "ID" в столбце "ID_товара"
из этой строки взять значение столбца "вес_товара"
записать это значение в переменную

Люди, пожалуйста помогите. Очень нужно
(Добавление)
PHP:
скопировать код в буфер обмена
  1. $www->query('SELECT product_weight FROM #__virtuemart_products WHERE virtuemart_product_id = '.$wgt.' )');
  2. echo $www;
  3. www->close();

сделал так, но видимо это неверно
2. 3d_killer - 21 Декабря, 2014 - 19:23:47 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.     $www->query('SELECT product_weight FROM #__virtuemart_products WHERE virtuemart_product_id = '.$wgt.' LIMIT 1)');
  2.     echo $www['product_weight'];
3. zmeyx - 21 Декабря, 2014 - 19:40:24 - перейти к сообщению
накопал в инете правила обращения с БД Joomla и получил такой код
PHP:
скопировать код в буфер обмена
  1.  
  2. $db = JFactory::getDbo();
  3. $query = $db->getQuery(true);
  4. $query->select('product_weight');
  5. $query->from('#__virtuemart_products');
  6. $query->where('virtuemart_product_id LIKE '. $wgt);
  7.  
  8.  
  9. // Reset the query using our newly populated query object.
  10. $db->setQuery($query);
  11.  
  12. // Load the results as a list of stdClass objects (see later for more options on retrieving data).
  13. $results = $db->loadObjectList();
  14. print_r($results);

Это дело работает, я получил те данные которые мне нудно, но вид не правильный
Array ( [0] => stdClass Object ( [product_weight] => 1.0000 ) )
как вытащить из этого дела только значение без массива?
значение - 1.0000
4. 3d_killer - 21 Декабря, 2014 - 19:47:08 - перейти к сообщению
если в массиве 1 строка то
5. zmeyx - 21 Декабря, 2014 - 19:54:38 - перейти к сообщению
[quote=3d_killer][/quote]
Такой вариант не выводит ничего
думаю это из за того, что в массиве значение [0] а в нем уже значение ['product_weight']

может можно как то не массивом забрать полученное значение в переменную? в этом запросе всегда будет только одно значение
6. 3d_killer - 21 Декабря, 2014 - 20:02:19 - перейти к сообщению
я же показал в запросе дописать LIMIT 1
7. zmeyx - 21 Декабря, 2014 - 20:09:18 - перейти к сообщению
3d_killer пишет:
я же показал в запросе дописать LIMIT 1
при добавления лимит даже здесь print_r($results); пустота
(Добавление)
спасибо 3d_killer за помощь, нашел я ответ на свой вопрос
print_r($results[0]->product_weight);
вот так вытаскивается то, что мне нужно
8. 3d_killer - 21 Декабря, 2014 - 20:16:22 - перейти к сообщению
лимит 1 вытаскивает только одну запись, если записи удовлетворяющие условию есть, значит либо у вас нет записей, либо смотреть какие методы есть в данном классе который вы используете видимо метод лимит отдельный
9. Bio man - 21 Декабря, 2014 - 22:23:57 - перейти к сообщению
вместо print_r используй var_dump

 

Powered by ExBB FM 1.0 RC1