PHP для цикла запроса в magento - PullRequest
1 голос
/ 18 февраля 2012

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

моя база данных - таблица: magentodatabase_points Сейчас здесь всего 3 колонны - 1. удостоверение личности 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 for loop, но это не поддерживает magento. Так кто-нибудь может знать, каким будет код цикла для magento.

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

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

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

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

Ответы [ 2 ]

3 голосов
/ 19 февраля 2012

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

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

Вы должны рассмотреть возможность использования моделей Magento, чтобы сделать это вместо этого. На сайте MagentoCommerce есть отличная серия руководств от Alan Storm: 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);
}
0 голосов
/ 18 февраля 2012

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...