Подскажите по извлечению значений из mysql

Samail
На сайте с 10.05.2007
Offline
369
798

В БД есть таблица Currencies. PHP скрипт уже подключен к базе, но из этой таблицы значения не извлекает.

Что нужно дописать, чтоб получилось так: $usd_kurs = значению поля «nominal», в строке (из таблицы «Currencies») у которой значение поля «Name» равно ‘USD’.

T
На сайте с 20.03.2007
Offline
67
Toy
#1

$row=mysql_fetch_assoc(mysql_query("SELECT `normal` FROM `currencies` WHERE `name`='USD' LIMIT 1"));

$usd_kurs=$row['normal'];

м?

Samail
На сайте с 10.05.2007
Offline
369
#2

Что-то и все остальные значения извлекаться перестали.

maldivec
На сайте с 04.11.2008
Offline
160
#3
Samail:
Что-то и все остальные значения извлекаться перестали.

Ну естественно. Разве в вашем сообщении что-то сказано про "остальные значения"? Может стоит по-человечески объяснить, что вам нужно? Код сюда написать, например...

Samail
На сайте с 10.05.2007
Offline
369
#4

Остальные извлекаются вот так:

 

/**************************************************\
PREVIEW INDIVIDUAL ITEM DETAILS
\**************************************************/

function previewDetails( $option, $id ) {
global $database, $mainframe, $mosConfig_absolute_path, $myItemid, $my, $er_memlistings, $er_mapview;

include(EZADMIN_PATH."/config.ezrealty.php");

$query = "SELECT a.*, u.mid AS mid, u.dealer_name AS dealer_name, u.dealer_company AS dealer_company,
u.dealer_phone AS dealer_phone, u.dealer_mobile AS dealer_mobile, u.dealer_sms AS dealer_sms, u.show_sms AS show_sms,
u.dealer_image AS dealer_image, u.dealer_type AS dealer_type, u.logo_image AS logo_image, u.published AS dealerpublished,
p.mid AS amid, p.dealer_name AS adealer_name, p.dealer_company AS adealer_company, p.dealer_phone AS adealer_phone,
p.dealer_mobile AS adealer_mobile, p.dealer_sms AS adealer_sms, p.show_sms AS ashow_sms, p.dealer_image AS adealer_image,
p.dealer_type AS adealer_type, p.logo_image AS alogo_image, p.published AS adealerpublished,
q.username AS user1, r.username AS user2 FROM #__ezrealty as a"
. "\n LEFT JOIN #__ezrealty_profile AS u ON u.mid = a.owner"
. "\n LEFT JOIN #__ezrealty_profile AS p ON p.mid = a.assoc_agent"
. "\n LEFT JOIN #__users AS q ON q.id = a.owner"
. "\n LEFT JOIN #__users AS r ON r.id = a.assoc_agent"
. "\n WHERE a.id = $id AND a.owner = $my->id";
$database->setQuery( $query );
$rows = $database->loadObjectList();
$row = $rows[0];


# Check whether member has access to preview the item

if ( $row->owner <> $my->id ) {
JError::raiseError( 403, JText::_("ALERTNOTAUTH") );
return;
}

$cont = new mosCountry($database);
$cont->load($row->cnid);

$stat = new mosState($database);
$stat->load($row->stid);

$loc = new mosLocality($database);
$loc->load($row->locid);

$cat = new mosCatgs($database);
$cat->load($row->cid);


HTML_ezrealty::viewDetails( $option, $row, $cat, $loc, $stat, $cont );

}
Robin_Bad
На сайте с 24.12.2007
Offline
85
#5

Samail, объясните человекопонятным языком, что вы хотите сделать.

Samail
На сайте с 10.05.2007
Offline
369
#6

Есть скрипт. Показывает объявления. Цена в них указана в рублях. Хочу добавить в долларах, т.е. делить цену на курс. Курсы содержатся в другой таблице, в этой-же базе.


INSERT INTO `Currencies` (`Name`, `Nominal`, `Value`, `LastUpdating`, `LastChecking`) VALUES
('USD', 1, 30.5771, '2010-09-17', '2010-09-16 21:50:35');
Чтоб скрипту было на что делить он должен получить нужную циферку из этой таблице. Вот и интересуюсь, что нужно добавить к приведенному постом выше коду, чтоб скрипт кроме того что уже извлекает, ещё и курс получил.
InoHacker
На сайте с 18.10.2009
Offline
75
#7
Samail:
Остальные извлекаются вот так:
 

/**************************************************\
PREVIEW INDIVIDUAL ITEM DETAILS
\**************************************************/

function previewDetails( $option, $id ) {
global $database, $mainframe, $mosConfig_absolute_path, $myItemid, $my, $er_memlistings, $er_mapview;

include(EZADMIN_PATH."/config.ezrealty.php");

$query = "SELECT a.*, u.mid AS mid, u.dealer_name AS dealer_name, u.dealer_company AS dealer_company,
u.dealer_phone AS dealer_phone, u.dealer_mobile AS dealer_mobile, u.dealer_sms AS dealer_sms, u.show_sms AS show_sms,
u.dealer_image AS dealer_image, u.dealer_type AS dealer_type, u.logo_image AS logo_image, u.published AS dealerpublished,
p.mid AS amid, p.dealer_name AS adealer_name, p.dealer_company AS adealer_company, p.dealer_phone AS adealer_phone,
p.dealer_mobile AS adealer_mobile, p.dealer_sms AS adealer_sms, p.show_sms AS ashow_sms, p.dealer_image AS adealer_image,
p.dealer_type AS adealer_type, p.logo_image AS alogo_image, p.published AS adealerpublished,
q.username AS user1, r.username AS user2 FROM #__ezrealty as a"
. "\n LEFT JOIN #__ezrealty_profile AS u ON u.mid = a.owner"
. "\n LEFT JOIN #__ezrealty_profile AS p ON p.mid = a.assoc_agent"
. "\n LEFT JOIN #__users AS q ON q.id = a.owner"
. "\n LEFT JOIN #__users AS r ON r.id = a.assoc_agent"
. "\n WHERE a.id = $id AND a.owner = $my->id";
$database->setQuery( $query );
$rows = $database->loadObjectList();
$row = $rows[0];


# Check whether member has access to preview the item

if ( $row->owner <> $my->id ) {
JError::raiseError( 403, JText::_("ALERTNOTAUTH") );
return;
}

$cont = new mosCountry($database);
$cont->load($row->cnid);

$stat = new mosState($database);
$stat->load($row->stid);

$loc = new mosLocality($database);
$loc->load($row->locid);

$cat = new mosCatgs($database);
$cat->load($row->cid);


HTML_ezrealty::viewDetails( $option, $row, $cat, $loc, $stat, $cont );

}

Судя по этому куску кода, это какой то компонент под Джумлу. В программировании под данную CMS я не силен, но на PHP Ваша задача могла бы выглядеть так:


$result = mysql_query("SELECT * FROM Currencies WHERE Name = 'USD'")
$row = mysql_fetch_array($result);
$usd_kurs = $row['Nominal'];

Соответственно в $row['Name'] будет значение поля Name, в $row['Value'] - значение поля Value и т.д.

Попробуем пофантазировать для Джумлы.


$database->setQuery("SELECT Nominal FROM #__Currencies WHERE Name = 'USD'");
$usd_kurs = $database->loadResult();

Этот запрос надо выполнять либо до:

$query = "SELECT .....

либо после:

$rows = $database->loadObjectList();
Магазин аккаунтов с балансом Litres,DNS,Ozon,Rotapost и еще 50+ других сервисов тут - vk.cc/7QK0Sk
Samail
На сайте с 10.05.2007
Offline
369
#8

InoHacker, спасибо. Сработало.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий