Форум программистов, компьютерный форум, киберфорум
Perl: Web
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.79/19: Рейтинг темы: голосов - 19, средняя оценка - 4.79
0 / 0 / 0
Регистрация: 27.08.2013
Сообщений: 27

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

09.09.2013, 11:51. Показов 4108. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru