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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: нужно вытащить из БД

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
zmeyx
Отправлено: 21 Декабря, 2014 - 18:15:14
Post Id


Гость


Покинул форум
Сообщений всего: 64
Дата рег-ции: Дек. 2012  


Помог: 0 раз(а)




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

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

сделал так, но видимо это неверно
 
 Top
3d_killer
Отправлено: 21 Декабря, 2014 - 19:23:47
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




PHP:
скопировать код в буфер обмена
  1.     $www->query('SELECT product_weight FROM #__virtuemart_products WHERE virtuemart_product_id = '.$wgt.' LIMIT 1)');
  2.     echo $www['product_weight'];
 
My status
 Top
zmeyx
Отправлено: 21 Декабря, 2014 - 19:40:24
Post Id


Гость


Покинул форум
Сообщений всего: 64
Дата рег-ции: Дек. 2012  


Помог: 0 раз(а)




накопал в инете правила обращения с БД 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
 
 Top
3d_killer
Отправлено: 21 Декабря, 2014 - 19:47:08
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




если в массиве 1 строка то
 
My status
 Top
zmeyx
Отправлено: 21 Декабря, 2014 - 19:54:38
Post Id


Гость


Покинул форум
Сообщений всего: 64
Дата рег-ции: Дек. 2012  


Помог: 0 раз(а)




[quote=3d_killer][/quote]
Такой вариант не выводит ничего
думаю это из за того, что в массиве значение [0] а в нем уже значение ['product_weight']

может можно как то не массивом забрать полученное значение в переменную? в этом запросе всегда будет только одно значение
 
 Top
3d_killer
Отправлено: 21 Декабря, 2014 - 20:02:19
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




я же показал в запросе дописать LIMIT 1
 
My status
 Top
zmeyx
Отправлено: 21 Декабря, 2014 - 20:09:18
Post Id


Гость


Покинул форум
Сообщений всего: 64
Дата рег-ции: Дек. 2012  


Помог: 0 раз(а)




3d_killer пишет:
я же показал в запросе дописать LIMIT 1
при добавления лимит даже здесь print_r($results); пустота
(Добавление)
спасибо 3d_killer за помощь, нашел я ответ на свой вопрос
print_r($results[0]->product_weight);
вот так вытаскивается то, что мне нужно
 
 Top
3d_killer
Отправлено: 21 Декабря, 2014 - 20:16:22
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




лимит 1 вытаскивает только одну запись, если записи удовлетворяющие условию есть, значит либо у вас нет записей, либо смотреть какие методы есть в данном классе который вы используете видимо метод лимит отдельный
 
My status
 Top
Bio man
Отправлено: 21 Декабря, 2014 - 22:23:57
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




вместо print_r используй var_dump
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB