Новые книги

«Мерчандайзинг» – вторая из трех книг, составляющих «Курс управления ассортиментом в рознице».

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

В качестве практического материала приведены рекомендации по пяти видам товаров: продукты, бытовая техника, одежда, товары для дома и книги.

Дополнительный материал по оформлению выкладок вы можете получить, воспользовавшись ссылкой

.

http://goo.gl/zgH0CQ

http://goo.gl/zgH0CQ

Книга написана для мерчандайзеров, а также будет интересна владельцам и руководителям магазинов и сотрудникам любого уровня, отвечающим за управление ассортиментом.
Хакер — это человек, который чем-то увлечен, будь то компьютеры, написание книг, природа или спорт. Это человек, который, благодаря этой своей увлеченности, испытывает любопытство ко всему, связанному с его увлечением. Если хакер любит компьютеры, то будет стараться узнать как можно больше о компьютерах, а также о том, как ими пользуются другие люди. Хакеры уважают предмет своего увлечения. Для компьютерного хакера это означает уважение к компьютерам, которые предоставляют людям возможность входить в контакт друг с другом и получать информацию со всего мира, а это в свою очередь означает, что он уважает других людей и не допустит умышленного использования своих знаний о компьютерах в целях развлекательных или разрушительных. Серьезный компьютерный взломщик просто хочет знать обо всем, что делается в мире, особенно в мире компьютеров. Настоящий Компьютерный Взломщик — это компьютерный энтузиаст, и, что более важно, вселенский энтузиаст. Я надеюсь, что вы будете энтузиастами.

sesam_query

Учебник РНР
НазадВперёд

sesam_query

(только PHP 3 CVS)

sesam_query - выполняет SESAM SQL-запрос и готовит результат.

Описание

string sesam_query (string query [, bool scrollable])

Возвращает  SESAM "result identifier" при успехе, FALSE при ошибке.

Ресурс "result_id" используется другими функциями для запрашивания результатов выполнения query/запроса.

sesam_query() отправляет запрос текущей активной БД на сервере. Могут выполняться как "immediate" SQL-операторы, так и "select type" запросы. Если выполняется "immediate" оператор, то курсор не выделяется, а последующий вызов sesam_fetch_row() или sesam_fetch_result() возвращает пустой результат (нулевые столбцы, указывающие end-of-result). Для "select type" операторов выделяются дескриптор результата и (прокручиваемый или последовательный, в зависимости от необязательного булева параметра scrollable) курсор. Если scrollable отсутствует, курсор будет последовательным/sequential.

При использовании "scrollable" курсоров курсор может свободно позиционироваться в результирующем наборе. Для каждого "scrollable" запроса имеются глобальные значения по умолчанию для прокручиваемого/scrolling типа (инициализируется: SESAM_SEEK_NEXT) и смещение прокрутки, которое может быть установлено однократно функцией sesam_seek_row(), либо каждый раз при извлечении ряда функцией sesam_fetch_row().

Для "immediate" операторов количество задействованных рядов сохраняется для запрашивания функцией sesam_affected_rows().

См. также sesam_fetch_row() и sesam_fetch_result().

Пример 1. Показать все ряды таблицы "phone" как html-таблицу
<?php
if (!sesam_connect ("phonedb", "demo", "otto"))
    die ("cannot connect");
$result = sesam_query ("select * from phone");
if (!$result) {
    $err = sesam_diagnostic();
    die ($err["errmsg"]);
}
echo "<TABLE BORDER>\n";
// Добавить шапку title с именами столбцов над результатом:
if ($cols = sesam_field_array ($result)) {
    echo " <TR><TH COLSPAN=".$cols["count"].">Result:</TH></TR>\n";
    echo " <TR>\n";
    for ($col = 0; $col < $cols["count"]; ++$col) {
        $colattr = $cols[$col];
        /* Span the table head over SESAM's "Multiple Fields": */
        if ($colattr["count"] > 1) {
            echo "  <TH COLSPAN=".$colattr["count"].">".$colattr["name"].
                "(1..".$colattr["count"].")</TH>\n";
            $col += $colattr["count"] - 1;
        } else
            echo "  <TH>" . $colattr["name"] . "</TH>\n";
    }
    echo " </TR>\n";
}

do {
    // Извлечь результат блоками максимум по 100 рядов.
    $ok = sesam_fetch_result ($result, 100);
    for ($row=0; $row < $ok["rows"]; ++$row) {
        echo " <TR>\n";
        for ($col = 0; $col < $ok["cols"]; ++$col) {
            if (isset($ok[$col][$row]))
                echo "  <TD>" . $ok[$col][$row] . "</TD>\n";
            } else {
                echo "  <TD>-empty-</TD>\n";
            }
        }
        echo " </TR>\n";
    }
} 
while ($ok["truncated"]) { // пока ещё могут быть данные
    echo "</TABLE>\n";
}
// освободить result id
sesam_free_result($result);
?>

Назад Оглавление Вперёд
sesam_num_fields Вверхsesam_rollback