0 / 0 / 0
Регистрация: 27.08.2013
Сообщений: 27

Скрипт на perl для телефонной книги

09.09.2013, 11:51. Показов 4118. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
добрый день. нужна помощь знающих людей. есть база данных телефонов и сотрудников предприятия. база даннных postgresSQL. написал форму для ввода номера телефона и ФИО сотрудников, форма отдает post запросом значения формы в исполняющий скрипт. но почему то мой скрипт выводит только одну строчку из базы, хотя в базе некоторые телефоны прописаны для двух и более людей. привожу пример скрипта (обработку post запроса я опустил, думаю что она роли не играет):
Perl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/usr/bin/perl
use warnings;
use strict;
 
sub nomer {
            my ($phone)=@_;
            my @text1=();
            if (defined $phone)
                {
                my $sth=$dbh->prepare ("SELECT * FROM base WHERE nomer='$phone'");
                $sth->execute();
                my $count=0;
                while(my $row=$sth->fetchrow_arrayref())
                    {
                    push(@text1,"<tr>");
 
                    while ($count < 7)
                        {
                          if (defined($row->[$count]) )
                            {
                                push(@text1,"<td>".(&text::ToSmall($row->[$count]))."</td>");
                            }
                            else
                                {
                                 push(@text1,"<td> </td>");
                                }
 
                    $count++;
                        }
                push (@text1,"</tr>");
                return @text1;
                }
                return @text1;
        $sth->finish();
 
                } else {
                        push (@text1,"по вашему запросу ничего не найдено");
                        return @text1;
                         }
                return @text1;
                };
my @text=&nomer($phone);
 
print '<table SELLSPACING=2 CELLPADDING=4 ALIGN=left BORDER=1>';
print '<TR>';
print '<TD>';
print '</TD>';
print '</TR>';
print "@text";
print '</tables>';
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.09.2013, 11:51
Ответы с готовыми решениями:

Сервис для телефонной книги
Доброго времени суток! Подскажите пожалуйста, как в Android можно поднять свой сервис для синхронизации туда контактов в телефонную...

Инструменты для создания телефонной книги на java
Здравствуйте дорогие форумчане!профессионалы!Помогите, пожалуйста, невеже!!!в джаве полный ноль=(необходимо разработать телефонную книгу. С...

Запустить perl-скрипт из perl-скрипта
Доброго времени суток! Есть главный скрипт и ещё один. Последний нужно запустить из главного, передать в него параметры и результаты...

23
0 / 0 / 0
Регистрация: 27.08.2013
Сообщений: 27
13.10.2013, 17:46  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от pka Посмотреть сообщение
Уточните, что в Вашем понимании "уже существует"? Есть данные с точно таким набором входных данных? Есть данные с точно таким же ID (но он, вроде, формируется без Вашего участия). Уточните, пожалуйста, задачу.
задача такая: допустим таблица состоящая из четырех столбцов. a,b,c,d. в a,b,c содержатся данные а в d создается автоинкрементное значение. допустим в столбцах a,b,c,d есть данные (например) 1,2,3,4. база наполняется. и в в один прекрасный момент пытаются добавить данные в эти столбцы 1,2,3. мне надо что бы прошла проверка, что такие данные уже в базе есть и вернул id этих данных, для дальнейшего заполнения БД.
По пробовал сделать уникальный ключ на все три столбца a,b,c. данные не добавляются, все хорошо, но в запросе возвращается следующий id (тот который должен был быть присвоен этой строчке). а мне необходимо что бы в такой момент он мне возвращал id уже существующей строчки с такими данными.
0
352 / 222 / 25
Регистрация: 30.09.2012
Сообщений: 548
13.10.2013, 21:57
Если совпадающими считаются записи, в которых совпадают все поля (ну, кроме id) и не считаются совпадающими записи, в которых хотя бы одно из полей отличается (хотя и может совпадать в другой комбинации), то, наверное, сначала select для контроля, а потом insert, если не существует. Если найдёте более интересное решение, отпишитесь здесь если не сложно.
0
0 / 0 / 0
Регистрация: 27.08.2013
Сообщений: 27
14.10.2013, 06:10  [ТС]
Цитата Сообщение от pka Посмотреть сообщение
Если совпадающими считаются записи, в которых совпадают все поля (ну, кроме id) и не считаются совпадающими записи, в которых хотя бы одно из полей отличается (хотя и может совпадать в другой комбинации), то, наверное, сначала select для контроля, а потом insert, если не существует. Если найдёте более интересное решение, отпишитесь здесь если не сложно.
да я вот что то тут начал смотреть в сторону триггеров и функций. вроде как такую логику можно реализовать и на стороне сервера БД. ну покрайне мере начал изучать этот вопрос
0
0 / 0 / 0
Регистрация: 27.08.2013
Сообщений: 27
29.11.2013, 22:30  [ТС]
такой вопрос возник. может я чего то недопонимаю, но странность следующая:
в скрипте делаю выборку из БД. нужно получить значения из столбца. если я делаю так:
my $a=sth->fetchrow_array; то переменной присваевается значение из столбца нормально (там лежит два слова)
а если я делаю так while (my $row=sth->fetchrow_array) {
print '$row->[1] }
то у меня на экран выводится только первое слово. подскажите где грабли зарыты. час с лишним уже бьюсь, ничего понять не могу. в чем проблема-то?

Добавлено через 2 минуты
сдается мне что виноват while. как можно это сделать по другому?

Добавлено через 37 минут
проблему нашел. заключается она в следующем: значения переменных у меня заносятся в форму:
"<td><input type='text' size='50' name='abc' value=".$row->[0]."></td>"
а форма почему то оставляет только одно первое слово. как можно это решить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.11.2013, 22:30

Реализация телефонной книги
Код не работает , не могли бы подсказать где ошибка?? #pragma once namespace Vicprak3 { using namespace System; using...

Получить контакт из телефонной книги
Домашнее задание. Помогите решить, уже 3 сутки не могу понять putExtra и getExtra. Условие: Получить контакт из телефонной книги в...

Ошибочка в коде телефонной книги
Добрый день. Задача - написать телефонную книгу. Все работает, но... когда сначала добавляю контакт, потом удаляю и вывожу список......

Perl скрипт для анализа готового файла журнала аудита
добрый день господа! прошу вашей помощи по следующему заданию - хочеться его и самому сделать но до этого с перл никогда дело не имел ...

Отправить смс на номер из телефонной книги
Можете помочь в этом вопросе: &quot;Как отправить смс на номер из телефонной книги&quot; ? Как бы сначало нужно получить список всех контактов и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Опции темы

Новые блоги и статьи
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru