2012-02-18 4 views
0

Привет всем, я новичок, но получил так много помогает отсюда. Спасибо всем, кто помогал. Теперь я столкнулся с проблемой в электронной коммерции magento для создания запроса на цикл из 10 лучших держателей точек. Ну, я сделал отдельную базу данных, которая содержит точки.php for loop query в magento

моя база данных таблиц: magentodatabase_points Сейчас здесь всего 3 colums - 1. ID 2. User_ID 3. Точки

хорошо сейчас, здесь я хотел бы сделать петлю из 10 членов высшего содержат высшие точки, которые я пробовал, но не смогли, могут кто-нибудь помочь мне в этом.

$resource = Mage::getSingleton('core/resource'); 

$readConnection = $resource->getConnection('core_read'); 

$table = $resource->getTableName('database_points'); 
$query = 'SELECT user_id FROM ' . $table . ' ORDER BY points DESC LIMIT 10'; 
$results = $readConnection->fetchAll($query); 

хорошо, но после этого я пробовал с php для цикла, но это не поддерживает magento. Так может кто-нибудь знать, какой будет цикл кода для magento.

Ну, еще одна помощь была бы полезной для меня, как мне получить имена клиентов magento от использования лучших результатов user_id, потому что я получу только результаты, а не имена.

В любом случае это не так важно, потому что я надеюсь, что смогу решить его самостоятельно.

Итак, пожалуйста, если кто-нибудь может помочь мне в запросе на петлю 10 ведущих держателей точек.

Спасибо advace и извините за мой плохой английский

+0

Ваш код выглядит, как он должен работать. 'fetchAll()' возвращает массив, так что это не имеет ничего общего с Magento, а скорее с PHP. Как это не поддерживается? Вы получаете исключение? Если так, то, что это? – Vinai

ответ

0

Может быть потому, что ваше имя поля имеет верхний регистр для и из user_id correctd «user_id» и вы используете строчные буквы в запросе. иначе ваш метод подходит для работы с magento

для gettting customer, если User_id u получает от этого результата идентификатор клиента, тогда $ customer_data = Mage :: getModel ('клиент/клиент') -> load (User_Id) ; будет давать все детали клиента. вы можете получить имя из этого, используя $ customer_data- метод

+0

хорошо я продал свою проблему, спасибо за помощь. Я получил имя пользователя сейчас, я пытаюсь добавить загрузку фотографий пользователям –

2

> GetName() Если имя таблицы и поля существуют, то вы можете просто добавить это ниже код:

foreach ($results as $result) { 
     $user_id = $result['user_id']; 
     echo $user_id; // or do whatever you wanted to with the variable 
} 

Вы должны рассмотреть возможность использования модели Magento для сделайте это вместо этого. Там отличный учебник серии Алан Буря на сайте MagentoCommerce в: http://www.magentocommerce.com/knowledge-base/entry/magento-for-dev-part-5-magento-models-and-orm-basics

Для имен клиента вы можете попробовать это в цикле:

foreach ($results as $result) { 
     $user_id = $result['user_id']; 

     $customer = Mage::getModel('customer/customer')->load($user_id); 
     print_r($customer); 
}