Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Темы - WG

Страницы: [1] 2
1
Есть таблица MySQL со структурой:

CREATE TABLE `prices` (
  `id` varchar(255) NOT NULL default \'\',
  `artikul` varchar(255) NOT NULL default \'\',
  `name` text NOT NULL,
  `opt` varchar(255) NOT NULL default \'\',
   PRIMARY KEY  (`id`)
) TYPE=MyISAM;

id- ключ, содержит идентификатор записи из 1С (например,00001400).
Добавление в таблицу происходит в режиме замены, т.е. если есть такая запись,
изменяются все поля кроме id, если нет записи, добавляется новая строчка.

Задача организовать перемещение записей вверх вниз, по умолчанию select
order by id.

Целесообразно ли добавить в таблицу скажем поле pos, со значениями
1,2,3,4, И менять их если вверх то pos-1, если вниз, то pos+1
И при выводе таблицы делать выборку по этому полю.
Но как тогда поступать при добавлении новой строки?
Всегда искать pos с максимальным значением и увеличивать его на единицу.
По-моему это увеличит производительность обработки в разы.

Все обработчики у меня на php
Может кто нибудь сталкивался с таким?
В правильном направлении я движусь?

2
PHP / перевод символов &#xxxx; в win-1251
« : 18 Января 2007, 07:32:46 »
есть строка $str2=\'приве&#1090\';

Из нее на выходе надо получить строку ПРИВЕТ, т.е пишу функцию:


function decode($str2, $quote_style=ENT_COMPAT){
$trans2 = get_html_translation_table(HTML_ENTITIES);
$trans2 = array_flip($trans2);
$encoded2 = strtr($str2, $trans2);
$original = strtr($encoded2, $trans2);
return $original;
}

echo ecode($str2);

В результате перевода не происходит... в чем может быть ошибка?

Использовал и другую функцию:
 echo preg_replace_callback(\'/&#(\\d+);/s\', \'entities2windows_callback\', $str2);
function entities2windows_callback($p)
{
  $c = $p[1];
  if ($c < 256) return chr($c);
  $u = pack(\'n\', $c);
  return @iconv(\'UCS-2BE\', "windows-1251", $u);
}

Результат тот же. У хостера iconv установлен

3
JavaScript & JScript / формы
« : 20 Декабря 2005, 17:59:28 »
как определить есть ли в текущем документе формы?
document.getElementsByTagName(\'form\') - не работает.
у меня цикл который оращается к document.forms[0].length,
а если формы на страничке нет то выдает ошибку где определяю размер массива. как исправить?

4
PHP / PNG & GD & PHP
« : 19 Декабря 2005, 16:54:45 »
Как с помощью php вывести png изображение с прозрачностью? имею ввиду чтобы прозрачность была создана серверным скриптом. Это нужно для вывода pmg в IE / Вообщем нужен аналог этого: (src=1.png); width:expression(1); height:expression(1);">

5
PHP / Работа с pdf
« : 24 Августа 2005, 13:37:36 »
Возможно ли средствами php перекодировать pdf документ в jpeg, gif (картинку)?

6
Хочу поместить на сайте аналоговые часики, которые бы показывали время в Москве, Нью-Йорке, Париже, Токио.
Как проще это реализовать?
Есть идея брать время с какого-либо тайм-сервера(серверным скриптом), а затем передавать это время в JavaScript или Flash, которые и будут выводить циферблат со стрелками. Может кто-нибудь сталкивался с аналогичной ситуацией?

Если не ошибаюсь вопрос сводится к получению времени от тайм-сервера..... Но как? В системном времени сервера хостинг провайдера я не уверен (часа на 2 с минутами меньше московского времени).

7
PHP / Конкатенация строк
« : 12 Апреля 2005, 11:26:53 »
Проблема в следующем. Есть цикл:
for ($i=0; $i<10; $i++)
{
if(условие1){$d1.=$parametr[$i].\'
\';}
if(условие2){$d2.=$parametr[$i]].\'
\';}
if(условие3){$d3.=$parametr[$i]].\'
\';}
}
echo $d1;
echo $d2;
echo $d3;

Переменные $d1, $d2, $d3 выводятся, но при выводе ошибок в браузер, выводиться ошибка типа переменные
d1, d2, d3 не определены (Undefined variable). Как этого избежать????

8
Веб-технологии / извлечь данные из dbf
« : 31 Марта 2005, 03:51:53 »
Как с помощью php или perl извлечь данные из dbf файла и передать их в текстовый файл?

9
Есть большой блок информации, то есть большое количество записей от 10000 и более.
Необходимо вывести все записи, условно назову их списком, за один проход (на одной странице).
Вопрос в следующем:
1) Какую базу данных использовать для хранения информации (Я предполагаю, что лучше всего взаимодействует связка php&MySQL)?
2) Как лучше систематизировать информацию в базе, чтобы занималось меньшее время на обработку запроса и вывода данных (в записи 6 ячеек)?
3) Есть ли другие технологии вывода такого кол-ва записей?
4) Примерное кол-во времени вывода списка?

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

10
Perl / Открытие удаленных файлов
« : 17 Марта 2005, 15:36:45 »
Как открыть удалённый файл через HTTP ?
Например файл, расположенный в корневом каталоге
(допустим http://myserver.com/index.htm)

11
Веб Графика / Окно ролика
« : 03 Февраля 2005, 14:11:26 »
Подскажите как сделать чтобы появлялось окно swf (exe) ролика, постепенно. Так скажем "ни откуда", например, собиралось по сегментам.
Ролик перекодирован в exe-файл, убраны границы и активное окно.

12
PHP / Информация о сервере
« : 28 Января 2005, 20:21:06 »
как с помощью php узнать системный путь к перл, т.е
здесь он usr/bin/perl или нет?

13
Как узнать сколько поддоменов принадлежат домену?

Есть доменные имена третьего уровня, скажем bugs.blabla.ru games.blabla.ru
Как определить количество и название всех поддоменов (bugs, blabla и т.д.) принадлежащих зоне blabla.ru ?

Какие технологии использовать?

14
PHP / создание директории
« : 05 Ноября 2004, 16:49:20 »
Необходимо создать директорию и загрузить туда файл.
Директория создается, но возхникает ошибка при загрузке файла!
Хотя по отдельности все работает нормально? В чем может быть причина?

$root=$HTTP_SERVER_VARS[\'DOCUMENT_ROOT\'];
$pathdir=$root.\'Pic/Head\';
$pathdir=trim($pathdir);
$oldmask=umask(0);
@mkdir("$pathdir", 0777) or die("Ошибка при создании директории");
umask($oldmask);

if(!mkdir("$pathdir", 0777))
{
echo"Ошибка!";
exit;
}
 

   $userfile=$HTTP_POST_FILES[\'small\'][\'tmp_name\'];
   $userfile_name=$HTTP_POST_FILES[\'small\'][\'name\'];
   $userfile_size=$HTTP_POST_FILES[\'small\'][\'size\'];
   $userfile_error=$HTTP_POST_FILES[\'small\'][\'error\'];
       
   if ($userfile_name!="")
     {    
      if ($userfile_error > 0)
        {
          echo "Проблема:";
          switch($userfile_error)
            {
              case 1: echo \' размер файла больше допустимого значения на сервере\'; break;
              case 2: echo \' размер файла больше установленного\'; break;
              case 3: echo \' загружена только часть файла\'; break;
              case 4: echo \' файл не загружен\'; break;
            }
          exit;
        }
       $upfile=\'../Pic/Head/\'.\'line.jpeg\';
       if (is_uploaded_file($userfile))
         {
           if (!move_uploaded_file($userfile, $upfile))
             {
               echo "Проблема: невозможно переслать файл в каталог назначения";
               exit;
             }
         }
       else
         {
           echo "Проблема: возможна атака через загрузку файла. Файл: ".$userfile_name;
           exit;
         }
    echo "Файл успешно загружен
";
       
    }
  else  
    {
      echo "Вы не загрузили файл";
    }

15
Базы данных / Выборка из БД
« : 22 Сентября 2004, 15:59:38 »
Делаю выборку из БД.

################
# key    #  id   # name #
################
# 0      # 0.0  # eraser#
# 1      # 0.1  # pen   #
# 2      # 1.0  # pencil#
# 3      # 1.2  # и т.д.#
# и т.д. # 11.0 # и т.д.#
################

Нужно выбрать все записи где id начинается с 1, т.е. строки 1.0 и 1.2
$a=1;
$sql="select * from table where id like \'$a%\'";

Но при таком запросе выдаются не только две необходимые строки, но и строки где id=11.0 и id=12.1  и т.д.
Как быть? Может использовать regexp?

Страницы: [1] 2