Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Search found 161 matches
Author Message
  Topic: Есть ли среди форумчан туристы?
Andrey Gurin

Replies: 7
Views: 5591

PostForum: Прочее   Posted: Sat May 26, 2007 12:12 am   Subject: Есть ли среди форумчан туристы?
Любители-то есть, только вот возможности в этом году нету :-(
  Topic: вывод даных поиска
Andrey Gurin

Replies: 1
Views: 2680

PostForum: Разное :: PHP   Posted: Wed Apr 18, 2007 8:12 pm   Subject: вывод даных поиска
Вы изучили функции работы со строками? обратите внимание на:
http://it.php.net/manual/en/function.strpos.php
http://it.php.net/manual/en/function.substr.php
  Topic: Как добавить к XML StyleSheet с помощью DOM
Andrey Gurin

Replies: 1
Views: 2471

PostForum: Разное :: PHP   Posted: Fri Feb 02, 2007 11:11 am   Subject: Как добавить к XML StyleSheet с помощью DOM
http://it.php.net/manual/ru/function.dom-domdocument-createprocessinginstruction.php
  Topic: Шутка юмора.
Andrey Gurin

Replies: 274
Views: 453412

PostForum: Прочее   Posted: Mon Jan 22, 2007 7:31 pm   Subject: Шутка юмора.
Юpий Насрeтдинов
Я сегодня впервые увидел, мне очень понравилось (:
  Topic: Расчленение класса
Andrey Gurin

Replies: 6
Views: 4323

PostForum: Разное :: PHP   Posted: Mon Jan 22, 2007 4:46 pm   Subject: Расчленение класса
Так нельзя...

Можно так


class c {

function a() {
include('a.php')
}

function b() {
include('b.php')
}
}


но не стоит, очень очень плохой стиль

Лучше подумайте о том чтобы класс разделить на несколько классов и пользуйтесь наследованием
  Topic: Шутка юмора.
Andrey Gurin

Replies: 274
Views: 453412

PostForum: Прочее   Posted: Mon Jan 22, 2007 12:59 pm   Subject: Шутка юмора.
http://msfirefox.com/
  Topic: Нужна серверная программа для голосовой связи
Andrey Gurin

Replies: 7
Views: 4596

PostForum: Прочее   Posted: Wed Jan 10, 2007 7:28 pm   Subject: Нужна серверная программа для голосовой связи
http://www.xten.com/index.php?menu=Products&smenu=xlite
  Topic: косяк с php4 : выдаёт true на "any string"==0
Andrey Gurin

Replies: 1
Views: 2978

PostForum: Базовый пакет :: Денвер   Posted: Thu Dec 21, 2006 2:22 pm   Subject: косяк с php4 : выдаёт true на "any string"==0
При сравнении строки и числа, строка приводится к числу.
  Topic: Зачем нужна нормализация
Andrey Gurin

Replies: 6
Views: 10460

PostForum: Общие вопросы :: SQL   Posted: Wed Nov 08, 2006 1:18 pm   Subject: Зачем нужна нормализация
в мускле Вы можете заявить группы аттрибутов 'UNIQUE' и тогда при записи в таблицу будет проконтролирована уникальность данной группы

А если совпадения встречаются НЕ в ключевых колонках (в данном случае колонка id_user в таблице, где ключевые id_article и poryad)? Это допустимо?
Для 2НФ допустимо.

2НФ требует
1. Первичный ключ: уникальная для каждой записи группа аттрибутов
2. Атомарность данных: одна клетка = одно значение
3. Отсутствие частичных зависимостей: значение любого аттрибута определяется только полным ключом
  Topic: Запрос в БД MySQL типа LIKE, только наоборот
Andrey Gurin

Replies: 4
Views: 4170

PostForum: Денвер — первые шаги :: Денвер   Posted: Mon Nov 06, 2006 4:16 pm   Subject: Запрос в БД MySQL типа LIKE, только наоборот
Я понял задачу так, есть таблица words которая содержит список слов
id word
--------------
1 hello
2 dog
3 cat
4 world

есть некое слово, например - helloworld

надо получить выборку из таблицы words которая будет содержать слова которые содержаться в слове 'helloworld'

SELECT *
FROM `words`
WHERE 'helloworld' LIKE concat( '%', `word` , '%' )

дает нам следующий результат:

id word
--------------
1 hello
4 world

`text` в моем примере обрамлен бэктиками, это имя поля... неудачно выбранное
  Topic: Запрос в БД MySQL типа LIKE, только наоборот
Andrey Gurin

Replies: 4
Views: 4170

PostForum: Денвер — первые шаги :: Денвер   Posted: Mon Nov 06, 2006 1:07 pm   Subject: Запрос в БД MySQL типа LIKE, только наоборот
SELECT *
FROM `test`
WHERE 'helloworld' LIKE concat( '%', `text` , '%' )
  Topic: func_get_args
Andrey Gurin

Replies: 3
Views: 3327

PostForum: Разное :: PHP   Posted: Mon Nov 06, 2006 11:05 am   Subject: func_get_args
http://it.php.net/manual/ru/function.call-user-func-array.php
  Topic: Зачем нужна нормализация
Andrey Gurin

Replies: 6
Views: 10460

PostForum: Общие вопросы :: SQL   Posted: Sun Nov 05, 2006 1:45 pm   Subject: Зачем нужна нормализация
Собственно говоря, Вы не на описание смотрите, а на формальное определение
  Topic: Зачем нужна нормализация
Andrey Gurin

Replies: 6
Views: 10460

PostForum: Общие вопросы :: SQL   Posted: Sun Nov 05, 2006 1:40 pm   Subject: Зачем нужна нормализация
Множество К = (id_user,poryad) является первичным ключом
Если все значения в таблице articles зависят от К, а не от его частей, то Ваши данные во 2НФ.
Если же articles содержит аттрибуты которые зависят от частей К, то это не 2НФ.
  Topic: Нуль=empty???
Andrey Gurin

Replies: 5
Views: 3772

PostForum: Разное :: PHP   Posted: Tue Oct 10, 2006 10:14 am   Subject: Нуль=empty???
Или же оператор === (три знака равенства)
  Topic: Создание базы данных на php5
Andrey Gurin

Replies: 7
Views: 4154

PostForum: Разное :: PHP   Posted: Wed Sep 27, 2006 4:25 pm   Subject: Создание базы данных на php5
Ошибка заключается в том что к серверу надо подлкючиться.
Почитайте документацию по
mysql_connect($host, $user, $pass....);
  Topic: (MySQL, PHP) Отобразить все значения поля типа ENUM
Andrey Gurin

Replies: 4
Views: 4331

PostForum: Разное :: PHP   Posted: Fri Sep 22, 2006 11:09 am   Subject: (MySQL, PHP) Отобразить все значения поля типа ENUM
Вы бы прочитали повнимательнее доки по mysql_fetch_row, она возвращает массив с цельночисленными ключами. Пользуйтесь mysql_fetch_assoc
  Topic: Оптимизация статистики сайта
Andrey Gurin

Replies: 11
Views: 5981

PostForum: Разное :: PHP   Posted: Tue Sep 19, 2006 11:13 am   Subject: Оптимизация статистики сайта
А как уже было сказано выше, это практически одно и то же, через ЮНИОН, по моему, чуть чуть красивее, но это очччччень субъективно
  Topic: Оптимизация статистики сайта
Andrey Gurin

Replies: 11
Views: 5981

PostForum: Разное :: PHP   Posted: Mon Sep 18, 2006 9:03 pm   Subject: Оптимизация статистики сайта
Юpий Насрeтдинов Да, спасибо за уточнение, я даже и не заметил фишку с ИнноДб. Буду внимательнее
  Topic: Оптимизация статистики сайта
Andrey Gurin

Replies: 11
Views: 5981

PostForum: Разное :: PHP   Posted: Mon Sep 18, 2006 5:39 pm   Subject: Оптимизация статистики сайта
По сути да, просто не надо писать восемь раз mysql_query(...), вот и все. А можно через SHOW TABLE STATUS
  Topic: Оптимизация статистики сайта
Andrey Gurin

Replies: 11
Views: 5981

PostForum: Разное :: PHP   Posted: Mon Sep 18, 2006 5:27 pm   Subject: Оптимизация статистики сайта
Можно, пользуйтесь оператором UNION

(SELECT 'users' AS tblname, COUNT(*) AS numrows FROM users)
UNION
(SELECT 'test' AS tblname, COUNT(*) AS numrows FROM test)

http://dev.mysql.com/doc/refman/5.0/en/union.html

или же, если есть такая возможность, то можно пользоваться
SHOW TABLE STATUS
http://dev.mysql.com/doc/refman/5.1/en/show-table-status.html
  Topic: Оптимизация статистики сайта
Andrey Gurin

Replies: 11
Views: 5981

PostForum: Разное :: PHP   Posted: Mon Sep 18, 2006 11:04 am   Subject: Оптимизация статистики сайта
http://dev.mysql.com/doc/refman/5.0/en/counting-rows.html
  Topic: Уррххх!!! Достало!
Andrey Gurin

Replies: 36
Views: 17042

PostForum: Прочее   Posted: Sun Sep 17, 2006 2:23 pm   Subject: Уррххх!!! Достало!
Я решил проблему кардинально, снес на фик антенну и оставил двд проигрыватель, не могу сказать что жизнь без телевидения так уж трагична (-:
  Topic: SQL error
Andrey Gurin

Replies: 5
Views: 9416

PostForum: Баги форума   Posted: Sun Sep 17, 2006 2:21 pm   Subject: SQL error
bæv
Ага, два дня. Главная загружалась, при попытке посмотреть обновления или последнии - вылетала ошибка. Но список пользователей, например, можно было посмотреть
  Topic: Настройка PHP
Andrey Gurin

Replies: 4
Views: 4418

PostForum: Денвер — первые шаги :: Денвер   Posted: Sun Sep 17, 2006 6:19 am   Subject: Настройка PHP
Ищете директиву в файле php.ini и меняете ее, или же пользуетесь файлом .htaccess в который прописываете php_flag magic_quotes_gpc = Off(не помню, нужен ли здесь знак равенства) если конфигурация сервера это позволяет, но лучше не надо править эту директиву: во первых она подлежит удалению в будущем, во вторых это неудобно, а в третьих это плохой стиль.
  Topic: Вложенные категории и ЧПУ.
Andrey Gurin

Replies: 4
Views: 3222

PostForum: Разное :: PHP   Posted: Wed Aug 30, 2006 4:24 pm   Subject: Вложенные категории и ЧПУ.
Вот один вариант:

Посредством mod_rewrite вы перекидываете все(почти все) запросы на скрипт-диспетчер
Диспетчер разбирает урл, например разбивая его по "/" и проверяет, имеется ли в наличии модуль отвечающий за обработку урла начинающегося с "news/"
Если такой модуль имеется, то он и запускается, в противном случае выдаете 404(или что-нибудь еще)
В самом простом варианте это может быь просто скрипт news.php который и подгружается посредством require_once('news.php');

Оставшуюся часть урла рассматриваете как параметры, а именно как путь к нужной категории
лезете в базу и смотрите, есть ли такой путь в Вашем дереве категорий: root->sport->nba
Если есть такое, то берете идентификатор последней ветки в пути "nba" и достаете нужные статьи, если нет, то на нет и суда нет....
  Topic: Конструкция <?=выражение?>
Andrey Gurin

Replies: 15
Views: 22814

PostForum: Книги «PHP 5» и «Самоучитель PHP4» :: PHP   Posted: Tue Aug 08, 2006 6:29 pm   Subject: Конструкция <?=выражение?>
посмотрите в php.ini значение директивы short_open_tag
  Topic: Дыра в безопасности при удалении переменных
Andrey Gurin

Replies: 3
Views: 3447

PostForum: Разное :: PHP   Posted: Mon Aug 07, 2006 3:01 pm   Subject: Дыра в безопасности при удалении переменных
Функции для вычисления хэшей на php(только для строк), если компилировать лень

function zend_inline_hash_func_php5($arKey) {
$h = 5381;
preg_match("/\\0$/", $arKey) or $arKey .= "\0";
$nKeyLength = strlen($arKey);

$arPtr = 0;

while ($arPtr < $nKeyLength) {
$h += ($h << 5);
$h += ord($arKey[$arPtr]);
$arPtr++;
}
return $h;
}

function zend_inline_hash_func_php4($arKey) {
$h = 5381;
preg_match("/\\0$/", $arKey) or $arKey .= "\0";
$nKeyLength = strlen($arKey);

$arPtr = 0;

while ($arPtr < $nKeyLength) {
$h += ($h << 5);
$h ^= ord($arKey[$arPtr]);
$arPtr++;
}
return $h;
}
  Topic: Проверка залогиненого пользователя
Andrey Gurin

Replies: 37
Views: 25203

PostForum: Прочее   Posted: Wed Jul 19, 2006 2:50 pm   Subject: Проверка залогиненого пользователя
По теме: существует такой принцип "Time of use - Time of check", то есть, существование пользователя, его права на желаемое действие и.т.д проверяется не только тогда когда юзер входит в систему, а всегда когда юзер пытается что-то сделать.

Предположим, юзер вошел в систему.
Приходит админ и юзера стирает или отнимает у него права, или добавляет ему их.
Юзер пыается что-то сделать что, например, не попадает под дейстие его нового профиля.
Если Вы профиль пользователя достаете из данных созданых при логине, то все ваши действия будут произведены под уже недействительным профилем и пользователь обломается, или наоборот, выполнит действие ему уже недозволено.

У амазона несколько лет тому назад был баг, они заказ получали, проверяли и сумму заказа подвешивали в урл(конгениально, Киса!). И потом, когда юзер действительно
нажимал "заплатить", не перепроверяли сумму(а зачем, они же ее вычислили сами). Хитрые люди правили сумму ручками и имели свое маленькое счастье.
А все потому ч ...
  Topic: Не выполняется определенный скрипт
Andrey Gurin

Replies: 33
Views: 12428

PostForum: Денвер — первые шаги :: Денвер   Posted: Sun Jul 16, 2006 10:56 pm   Subject: Не выполняется определенный скрипт
Вам совершенно правильно посоветовали порыться в php.ini. Ищите директиву отвечающую за максимально возможное время исполнения скрипта. Apache здесь ни причем.
  Topic: есть такая функция?
Andrey Gurin

Replies: 11
Views: 6278

PostForum: Разное :: PHP   Posted: Thu Jul 13, 2006 10:19 am   Subject: есть такая функция?
$fname = __FILE__; // ???
  Topic: Как лучше провести обновление базы на сайте
Andrey Gurin

Replies: 3
Views: 2728

PostForum: Прочее   Posted: Tue Jul 11, 2006 11:44 pm   Subject: Как лучше провести обновление базы на сайте
Могу предложить еще одно решение:
Создаете временную таблицу с данными из xml, синхронизируете постоянные данные с данными этой таблицы. Синхронизацию можно произвести тремя запросами.
Полный пример(mysql), в качестве связывающего ключа выступает поле uname. "andy" будет обновлен, "mike" удален, "kelly" вставлен
Можно, наверное, оптимизировать все поиграв с JOIN, мне сейчас лениво (-:

DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`user_id` int(11) NOT NULL auto_increment,
`uname` varchar(32) NOT NULL default '',
`pass` varchar(32) NOT NULL default '',
PRIMARY KEY (`user_id`),
UNIQUE KEY `uname` (`uname`)
);
INSERT INTO `users` VALUES (1, 'andy', 'jaffa');
INSERT INTO `users` VALUES (2, 'mike', 'kimbo');
INSERT INTO `users` VALUES (3, 'jane', 'plotter');
INSERT INTO `users` VALUES (4, 'steve', 'slaughter');


DROP TABLE IF EXISTS `users_update`;
CREATE TEMPORARY TABLE ` ...
  Topic: Как лучше провести обновление базы на сайте
Andrey Gurin

Replies: 3
Views: 2728

PostForum: Прочее   Posted: Mon Jul 10, 2006 7:22 pm   Subject: Как лучше провести обновление базы на сайте
Например, воспользовавшись конструкциями
INSERT IGNORE INTO ...
или
INSERT INTO ... ON DUPLICATE KEY UPDATE ...

Уже получаем не 10000 а 5000 обращений

Или же, можно вытащить массив записей из базы, одним запросом. Сравниваете два массива, и вычисляете три множества:
1. То что есть в базе, но нету в xml
2. То что есть и там и там
3. То что нету в базе но есть в xml
Первый массив удаляется одним запросом
Второй придется пробежать и обновить записи в базе
третий вставляется одним запросом INSEРT INTO table (a,b,c) VALUES (1,2,3),(4,5,6),(7,8,9)...
Уменьшается количество запросов, но придется сравнивать массивы записей.
  Topic: По Сети не идет Саит!
Andrey Gurin

Replies: 8
Views: 5175

PostForum: Денвер — первые шаги :: Денвер   Posted: Sun Jul 09, 2006 3:23 am   Subject: По Сети не идет Саит!
Обращаетесь к админу и просите чтобы он прописал в днс связку: my-site.loc -> server-ip.
  Topic: Не обновляется переменная, получаемая по запросу к БД
Andrey Gurin

Replies: 6
Views: 4402

PostForum: Денвер — первые шаги :: Денвер   Posted: Fri Jul 07, 2006 11:11 pm   Subject: Не обновляется переменная, получаемая по запросу к БД
На самом деле можно сделать хитрый финт ушами для получения порядкового номера:

SELECT f1,f2,f3, (my_offset + SUM(1)) AS row_counter
FROM table
GROUP BY row_id
ORDER BY my_order_by
LIMIT my_limit OFFSET my_offset

Где row_id - уникальный ключ
Естественно, значение порядкового номера связано с тем, по какому столбцу происходит сортировка
  Topic: Не обновляется переменная, получаемая по запросу к БД
Andrey Gurin

Replies: 6
Views: 4402

PostForum: Денвер — первые шаги :: Денвер   Posted: Mon Jul 03, 2006 11:50 pm   Subject: Не обновляется переменная, получаемая по запросу к БД
Или например, есть запись за номером 100. Приходит админ Вася и ее стирает. Приходит клиент Петя, по ссылке supersite.net/100, а ему вместо ожидаемых им принадлежностей для оффиса выводится страница(которая раньше была за номером 101) с товарами "Все для садо-мазо".
А в случае с autoincrement все гораздо проще: "Извините, но данные были удалены злым админом"
  Topic: Не обновляется переменная, получаемая по запросу к БД
Andrey Gurin

Replies: 6
Views: 4402

PostForum: Денвер — первые шаги :: Денвер   Posted: Mon Jul 03, 2006 11:43 pm   Subject: Не обновляется переменная, получаемая по запросу к БД
м-м... но ведь в обоих случаях (простой инкремент и упорядоченная нумерация) индекс будет уникальным? зачем делать второй столбец нумерации - задачи-то одинаковые, доступ к записи по уникальному индексу?

Вот и я о том же, для уникального индекса не нужна нумерация, достаточно autoincrement. А если делать с последовательной нумерацией, то придется решать разные, достаточно противные проблемы: У Вас в таблице миллион записей, вы удалили запись за номером 1. Чтобы не нарушить нумерацию, все 999,999 оставшихся записей надо обновить, сдвинув на единицу их ключи. Ощущаете биение жизни? (-:
  Topic: Не обновляется переменная, получаемая по запросу к БД
Andrey Gurin

Replies: 6
Views: 4402

PostForum: Денвер — первые шаги :: Денвер   Posted: Mon Jul 03, 2006 10:42 pm   Subject: Не обновляется переменная, получаемая по запросу к БД
Прочитайте документацию:
http://it2.php.net/mysql_query
http://it2.php.net/manual/ru/function.mysql-fetch-array.php

mysql_query() возвращает не результат запроса, а указатель на результат.

По поводу autoincrement: он нужен не для красивой нумерации записей, а для того, чтобы иметь первичный ключ,
однозначный для каждой записи. Если вам нужна нумерация, то делайте ее вручную (а зачем Вам нумерация на уровне базы?).

[offtop]Была где-то неплохая статья по этому поводу, если кто помнит, киньте ссылку, плиз[/offtop]
  Topic: Ищу совета по оптимизации SQL-запроса
Andrey Gurin

Replies: 5
Views: 7921

PostForum: SQL и PHP :: SQL   Posted: Tue Jun 27, 2006 10:15 pm   Subject: Ищу совета по оптимизации SQL-запроса
Я тоже о нем говорил
  Topic: Ищу совета по оптимизации SQL-запроса
Andrey Gurin

Replies: 5
Views: 7921

PostForum: SQL и PHP :: SQL   Posted: Tue Jun 27, 2006 10:05 pm   Subject: Ищу совета по оптимизации SQL-запроса
Попробуйте так
SELECT ... GROUP_CONCAT(k.text SEPARATOR '|')
...
GROUP BY t.id

http://dev.mysql.com/doc/refman/5.1/en/group-by-functions.html
 
Page 1 of 5 All times are GMT + 3 Hours
Goto page 1, 2, 3, 4, 5  Next
XML