О дивный XXI-й век! Я сижу на старом бензобаке, среди ржавых бочек и
коровьих блинов и, овеваемый тихоокеанским зефиром, настукиваю слепым
2-пальцевым методом эти вдохновенные строки. Погода ласковее, чем в
разгар иного лета. Мой самолет уже прогудел обратно на Сахалин. Пойду
навещу сразу пять-семь мест моих находкинских ночных галлюцинаций.
Точка, Готово, Отправить.
четверг, октября 25, 2007
На Кунашир
Сижу в Ан-24. Левая подсадка в САТ практикуется открыто, наценка 3000
(как принято говорить в рекламе, гибкая ценовая политика). Сел на
место с видом на вулкан. Все, запускаемся.
(как принято говорить в рекламе, гибкая ценовая политика). Сел на
место с видом на вулкан. Все, запускаемся.
вторник, октября 23, 2007
Сахалин
Сижу на Сахалине. До Кунашира 450 непреодолимых километров. Ближайший
билет предлагают на 9 ноября. Но слава богу, есть друзья, а у друзей
есть шпаги. Поэтому надеюсь улететь в субботу. Пока что нянчу
новорожденного племяша, пью пиво и прочее, готовлю скальцоцету (с
тзатзики), обзваниваю одноклассников/ц. Полурастительное
существование, о котором мечтал в Находке... И наелся здесь на вторые
сутки. А снег здесь не упал.
билет предлагают на 9 ноября. Но слава богу, есть друзья, а у друзей
есть шпаги. Поэтому надеюсь улететь в субботу. Пока что нянчу
новорожденного племяша, пью пиво и прочее, готовлю скальцоцету (с
тзатзики), обзваниваю одноклассников/ц. Полурастительное
существование, о котором мечтал в Находке... И наелся здесь на вторые
сутки. А снег здесь не упал.
воскресенье, октября 21, 2007
Выпал из жизни
Пусть Приморье меня простит. Не раз шутил о своём отпуске: не иначе, уеду уже по первому снегу. Улетаю завтра. Это вызвало погодный катаклизм. Впредь буду осторожнее с шутками. В понедельник будет солнце, увидите :-)
понедельник, октября 08, 2007
Эксперименты над логотипом — 3
пятница, октября 05, 2007
Санитария рекламного леса: журнал со странным названием
С утра в бар положили пару номеров нового, как понимаю, журнала (точнее — частично цветного сборника рекламы) под названием «Журнал ДОРОГАГЛАВНАЯ Приморья»:
Внутри, в общем, может быть интересно только рекламодателям со странностями или нудным эстетам с запасами застоявшегося яда :-)
В общем, чем больше в нашем городе дорогоглавных дизайнеров, тем дороже в нём будет дизайн :-) и это здорово.
Внутри, в общем, может быть интересно только рекламодателям со странностями или нудным эстетам с запасами застоявшегося яда :-)
В общем, чем больше в нашем городе дорогоглавных дизайнеров, тем дороже в нём будет дизайн :-) и это здорово.
SQL.php: запросы одним вызовом
Когда-то, разрабатывая внутренний портал для одной компании, написал библиотеку полезных функций, среди которых были и несколько штук для быстрого получения данных из MySQL. Пользоваться ими оказалось так сподручно, что со временем я вынес эти функции в отдельный файл, добавил в его начало соединение с сервером MySQL и назвал всё это дело, не заморачиваясь, sql.php. С тех пор этот файл можно найти во всех веб-проектах, над которыми я работал. Наверное (даже наверняка), он ещё кому-то пригодится. Это не yet another MySQL wrapper, это даже меньше: несколько способов получить данные из базы одним вызовом.
query_into_array($query) — отдаёт результат запроса как массив ассоциативных массивов, каждый из которых — ряд результата в виде поле => значение.
query_into_assoc($query) — отдаёт один ряд результата в виде ассоциативного массива. То же, что и предыдущее, но для запросов, где ожидается единственный ряд.
query_into_enum($query) — Не то же самое, что предыдущее, и я сам иногда забываю эту разницу: возвращает левую колонку запроса, в котором может быть много рядов. Полезно, когда нужно получить значения какой-то поля.
query_into_keyvalue($query) — похоже на предыдущее, но возвращаются 2 левых колонки в виде ассоциативного массива, где индексы — значения первого поля, а значения — значения второго. Очень удобный способ выбрать проиндексированные данные, но чреват потерей части данных, если значения первого поля не уникальны.
query_into_var($query) — для запроса, возращающего единственное значение. Что там у нас в таком-то поле такого-то ряда?:
echo query_into_var($query);
Теперь, собссно, сама библиотечка. Очень простая, на живую нитку, но — работает, а что ещё от неё надо?
-------------------------------------------
$link = mysql_connect( "host", "user", "pass" );
/* Так можно настроить кодировки для MySQL 4.x
mysql_query("SET character_set_connection=cp1251");
mysql_query("SET character_set_results=cp1251");
mysql_query("SET character_set_server=koi8r");
mysql_query("SET character_set_client=cp1251"); */
/* А так — для 5.х
mysql_query("SET NAMES 'utf8'"); */
$db = mysql_select_db( "dbname" ) || die(mysql_error());
function query_into_array( $query ) {
$arr = array();
$n = 0;
$result = mysql_query( $query );
if ( ! mysql_affected_rows == 0 ) {
while ( $row = mysql_fetch_assoc( $result )) {
foreach ( $row as $key => $value ) {
$arr[$n][$key] = $value;
}
++$n;
}
mysql_free_result( $result );
}
return $arr;
}
function query_into_assoc( $query ) {
$result = mysql_query( $query );
if ($row = mysql_fetch_assoc( $result )) {
mysql_free_result( $result );
return $row;
}
}
function query_into_enum( $query ) {
$arr = array();
$result = mysql_query( $query );
if ( mysql_affected_rows() > 0 ) {
while ( $row = mysql_fetch_row( $result )) {
array_push( $arr, $row[0]);
}
mysql_free_result( $result );
}
return $arr;
}
function query_into_keyvalue($query) {
$arr=array();
$result = mysql_query( $query );
if (mysql_affected_rows()>0) {
while ($row= mysql_fetch_row($result)) {
$arr[$row[0]]=$row[1];
}
mysql_free_result( $result );
}
return $arr;
}
function query_into_var( $query ) {
return array_shift( query_into_enum( $query ));
}
?>
query_into_array($query) — отдаёт результат запроса как массив ассоциативных массивов, каждый из которых — ряд результата в виде поле => значение.
query_into_assoc($query) — отдаёт один ряд результата в виде ассоциативного массива. То же, что и предыдущее, но для запросов, где ожидается единственный ряд.
query_into_enum($query) — Не то же самое, что предыдущее, и я сам иногда забываю эту разницу: возвращает левую колонку запроса, в котором может быть много рядов. Полезно, когда нужно получить значения какой-то поля.
query_into_keyvalue($query) — похоже на предыдущее, но возвращаются 2 левых колонки в виде ассоциативного массива, где индексы — значения первого поля, а значения — значения второго. Очень удобный способ выбрать проиндексированные данные, но чреват потерей части данных, если значения первого поля не уникальны.
query_into_var($query) — для запроса, возращающего единственное значение. Что там у нас в таком-то поле такого-то ряда?:
echo query_into_var($query);
Теперь, собссно, сама библиотечка. Очень простая, на живую нитку, но — работает, а что ещё от неё надо?
-------------------------------------------
$link = mysql_connect( "host", "user", "pass" );
/* Так можно настроить кодировки для MySQL 4.x
mysql_query("SET character_set_connection=cp1251");
mysql_query("SET character_set_results=cp1251");
mysql_query("SET character_set_server=koi8r");
mysql_query("SET character_set_client=cp1251"); */
/* А так — для 5.х
mysql_query("SET NAMES 'utf8'"); */
$db = mysql_select_db( "dbname" ) || die(mysql_error());
function query_into_array( $query ) {
$arr = array();
$n = 0;
$result = mysql_query( $query );
if ( ! mysql_affected_rows == 0 ) {
while ( $row = mysql_fetch_assoc( $result )) {
foreach ( $row as $key => $value ) {
$arr[$n][$key] = $value;
}
++$n;
}
mysql_free_result( $result );
}
return $arr;
}
function query_into_assoc( $query ) {
$result = mysql_query( $query );
if ($row = mysql_fetch_assoc( $result )) {
mysql_free_result( $result );
return $row;
}
}
function query_into_enum( $query ) {
$arr = array();
$result = mysql_query( $query );
if ( mysql_affected_rows() > 0 ) {
while ( $row = mysql_fetch_row( $result )) {
array_push( $arr, $row[0]);
}
mysql_free_result( $result );
}
return $arr;
}
function query_into_keyvalue($query) {
$arr=array();
$result = mysql_query( $query );
if (mysql_affected_rows()>0) {
while ($row= mysql_fetch_row($result)) {
$arr[$row[0]]=$row[1];
}
mysql_free_result( $result );
}
return $arr;
}
function query_into_var( $query ) {
return array_shift( query_into_enum( $query ));
}
?>
среда, октября 03, 2007
понедельник, октября 01, 2007
«ИНЕС»: обновление сайта
Компания «ИНЕС», серьёзно взявшись за продвижение своего сайта (они даже поставили отдельный щит с его адресом на подъёме от Тихоокеанской к церкви), обновила часть текстов и собирается добавить фотографий. Среди обновлений есть занимательный расчёт, каким образом можно при помощи утюга, дешёвой рабсилы и кое-каких других прогрессивных методов удешевить окно рублей на 800.
Подписаться на:
Сообщения (Atom)