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

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


Сообщения - AlexRH

Страницы: [1] 2
1
JavaScript & JScript / Отправка массива
« : 13 Октября 2004, 12:13:55 »
Цитировать
galogen:
"hidden" имя - название массива.

А значение?

2
[
Цитировать
elenaki:
может потому, что форма рисуется тоже динамически с помощью
document.write()...

Нет однозначно (если они заданы конечно :-).

Посмотрите здесь:
http://www.mcfedries.com/UsingJavaScript/28.7.htm

3
Цитировать
elenaki:
если я делаю проверку на заполненность радио-кнопок

По моему скромному мнению, логичнее проверять не заполненность, а значения этих полей.

4
JavaScript & JScript / Создание нового окна и charset
« : 12 Октября 2004, 15:34:08 »
Здравствуйте!
Помогите разобраться, ничего не пойму.
Из скрипта создаю новое окно:

text +=\'\'
text +=\'Добавление\'
text +=\'\'
text +=\'\'
text +=\'\'

в нем форму:

text +=\'
\'

ну, так далее.

Все прекрасно, но IE6 автоматом выбирает для этого окна кодировку utf-8.
Данные из формы соответственно тоже передает в unicode.

Это глюк IE или можно что-то сделать?

5
ААААААА я тормоз.
Большое спасибо.
Но, c другой стороны ты сам подсказал :-)

И ещё. Мне кажется для того, чтобы получить массив, нужно $paragraf разбиватть split\'ом.

{
local $/="";
  while () {

   my ($hkey, $value)=/(.*)\\n(.*)/sm;
   push @{$hash{$hkey}}, split(/\\n/, $value);
  }
}

6
Вроде заработало.

Дело было в регулярном выражении. Ну
Вот, что я придумал:

           s/\\A(.*)\\n//m; #заменить на ничто.
           $hash{$1} = $_;

Ну, вот вроде и все.

7
quote]Phoinix:
Вообще понятие первой строки абзаца - довольно странное...[/quote]
Ну, может быть.
Под "абзацем" в данном случае я подразумевал n-е кол-во строк, отделенное от другого "абзаца" пустой строкой.
И первая строка такого "абзаца" - это первая строка после пустой строки. (О, как! ;-)
Наверное, можно это назвать и записями, разделенными пустой строкой.

Цитировать
Phoinix:
P.S. А что не сработало-то?



Perl ругается:
Use uninitialied value in pattern match (m//).
Use uninitialied value in hash element.

Код такой.
####################
#!perl -w

use strict;

$/="";

my %hash;
my ($paragraf, $key);
my $n = 5;


open(FN, "fn.txt") || die "$!";

while () {
   $paragraf =~m/(.{$n,}).*/;
   $hash{$1} = $paragraf;
}
#######################

fn.txt
#######################
абзац1
Здесь находится первый
абзацццц

абзац2
Привет
Здесь второй

#######################

8
Спасибо.
Но, не сработало.

Цитировать
Phoinix:
my $n = 10; # Количество символов в строке

   А, если я не знаю кол-во символов?

Цитировать
Phoinix:
$hash($1) = $paragraf;

   Наверное $hash{$1} = $paragraf;

9
Здравствуйте!
Вопрос такой.
Можно ли при считывании файла по абзацам ( $/=""; ), создать хэш, где ключом была бы первая строка абзаца, а значением все остальное?
Если можно объсните,pls, как это делается.

10
Perl / DBD-CSV вопросы, вопросы
« : 21 Ноября 2003, 15:02:53 »
Вот что я надумал:
----------------
$qqq="SELECT * FROM addrb WHERE org RLIKE \'$sorg\'";
   if ($sfam) {
      $qqq .= " AND fam LIKE \'$sfam\'";
   }
.....
my $output = $dbh->prepare($qqq);
$output->execute;
-----------------
может несколько коряво, но работает.

11
Perl / DBD-CSV вопросы, вопросы
« : 20 Ноября 2003, 14:35:40 »
Спасибо.

Цитировать
ondr:
3. Не знаю как дела с CVS но в mysql рег. выражния работают только в операторе HAVING. Может и прогидится.


SELECT * FROM addrb HAVING org REGEXP "$sorg"
Это приблизительно так?

12
Perl / DBD-CSV вопросы, вопросы
« : 20 Ноября 2003, 14:06:01 »
Здравствуйте!

Имеется текстовый файл с данными о сотрудниках нескольких предпирятий. Примерно такого вида.
   Воробьянинов|Ипполит|Матвеевич|Kisa@somethere.ru|заготовитель|Рога и Копыта|222-222|
   .....

Имеется скрипт для поиска в этом файле.
вот кусок кода:
<-----------
#!/usr/bin/perl
use DBI;
use CGI qw(:all);
use CGI::Carp qw(fatalsToBrowser);
#
$q =new CGI;

$sfam=$q->param(\'fam\');
$sim=$q->param(\'im\');
$sotch=$q->param(\'otch\');
$semail=$q->param(\'email\');
$sdolz=$q->param(\'dolz\');
$sorg=$q->param(\'org\');
$stel=$q->param(\'tel\');
$sfax=$q->param(\'fax\');
chomp($sfam, $sim, $sotch, $semail, $sdolz, $sorg, $stel, $sfax);

my $dbh = DBI->connect("DBI:CSV:f_dir=/tmp;");
$dbh->{\'csv_tables\'}->{\'addrb\'} = {
      \'eol\' => "\\n",
        \'sep_char\' => "|",
        \'quote_char\' => undef,
        \'escape_char\' => undef,
        \'file\' => "$ab",
        \'col_names\' => ["num", "email", "fam","im", "otch", "dolz", "org",
                        "addr", "tel", "fax", "filo"]
    };

my $output = $dbh->prepare("SELECT * FROM addrb
   WHERE org RLIKE \'$sorg\'
    AND (im RLIKE \'$sim\' AND fam RLIKE \'$sfam\')
   ");

while(($num, $email, $fam, $im, $otch, $dolz, $org, $addr, $tel, $fax, $filo)=$output->fetchrow_array) {
print "$num $fam $im $otch
 $email
 $dolz
 $org
 $tel
 $fax
";
}

$output->finish();
----------->
Помогите разобраться со след. вопросами.

Вопрос 1. Где можно взять описание модулей DBI-, DBD-CSV на русском и желательно с примерами.

Вопрос 2. Какие регулярные выражения можно использовать в запросах (кроме %).

Вопрос 3. Если в запросе (SELECT * FROM addrb WHERE fam RLIKE \'$sfam\') я пишу REGEXP вместо RLIKE получаю:
<--
Thu Nov 20 12:25:51 2003] 1addr.pl: SQL ERROR: Bad predicate: \'org REGEXP ?0?\'!
[Thu Nov 20 12:25:51 2003] 1addr.pl:
[Thu Nov 20 12:25:51 2003] 1addr.pl: SQL ERROR: Couldn\'t find predicate!
[Thu Nov 20 12:25:51 2003] 1addr.pl:
SV = RV(0x1ffac0) at 0x42fe40
  REFCNT = 1
  FLAGS = (PADBUSY,PADMY,ROK)
  RV = 0x54bbc0
[Thu Nov 20 12:25:51 2003] 1addr.pl: DBD::CSV::st execute failed: dbih_getcom ha
ndle DBD::CSV::Statement=HASH(0x54bbc0) is not a DBI handle (has no magic) at /u
sr/local/lib/perl5/site_perl/5.6.1/SQL/Statement.pm line 164.
[Thu Nov 20 12:25:51 2003] 1addr.pl: DBD::CSV::st fetchrow_array failed: Attempt
 to fetch row from a Non-SELECT statement at /var/www/cgi-bin/1addr.pl line 157.
-->

Вопрос 4. По SQL.
По запросу
("SELECT * FROM addrb
   WHERE org RLIKE \'$sorg\'
    AND (im RLIKE \'$sim\' AND fam RLIKE \'$sfam\')
   ");
выбирается строго, если только заполнены поля fam и im.

Как написать запрос чтобы:
а) Выбирал всех сотрудников предприятия, если в форме не было заполнено ни одного поля кроме "org" (оно заполняется в любом случае).
б) Выбирал сотрудника предприятия по любому из заполненых полей.


Заранее благодарен.

13
Собственно нет никаких трудностей. Я просто уточнить хотел.

14
Спасибо тем, кто откликнулся.
Извиняюсь, что с запозданием возвращаюсь к обсуждению, но хотелось бы продолжить.

Как мне создать $zapros из нескольких полей формы?

use CGI qw(:all);
$q =new CGI;
$f1=$q->param(\'f1\');
$f2=$q->param(\'f2\');
$f3=$q->param(\'f4\');

$zapros=(join \'|\', ($f1, $f2, $f3));

15
Цитировать
NeoNox:
Где ищет? В файле с разделителями?

Да, открываю файл и считываю по строкам.
Затем разбиваю split\'ом.

Цитировать
NeoNox:
разбить на слова
и искать по каждому элемента массива.


Какого?

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