HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

тест
  #1121  
Старый 18.06.2009, 12:15
4y4o
Познающий
Регистрация: 22.01.2007
Сообщений: 40
Провел на форуме:
179857

Репутация: 4
По умолчанию тест

1. Выбрать из таблицы базы данных MySQL случайную запись несколькими способами.
Есть одно важное ограничение – диапазон id НЕ является непрерывной числовой последовательностью!
Структура таблицы:
CREATE TABLE `rand_test` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(50) NOT NULL default '',
`ispub` tinyint(1) NOT NULL default '1',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

Пояснения:
id - первичный ключ
name - информация ключа
ispub - признак публикации (1- запись участвует в выборке, 0-нет)

2. Вывести древовидную структуру, основываясь на данных из таблицы MySQL.
Скрипт должен отформатировать текст используя шаблон, хранящийся отдельно (Условие обязательно).
Структура таблицы:
CREATE TABLE `tree` (
`id` int(11) NOT NULL auto_increment,
`pid` int(11) NOT NULL default '0',
`name` varchar(50) NOT NULL default '',
`ispub` tinyint(1) NOT NULL default '1',
PRIMARY KEY (`id`),
KEY `pid` (`pid`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
Пояснения:
id - первичный ключ
pid - ключ «родительского» элемента (0- для корневого)
name - информация ключа
ispub - признак публикации (1- запись учитывается, 0-запись не учитывается)
Шаблон:
Для упрощения задачи шаблоном принимается асоциативный массив, используемый скриптом и хранящий описанием форматирования вывода дерева.
$template=array(
'body' =>'<ul>{body}</ul>',
'node' =>'<li>{node} <ul>{sub}</ul>',
'item' =>'<li>{item}',
);

В итоге, вы должны получить:
1. PHP скрипт, выводяший древовидную структуру из БД
2. Иметь возможность полностью изменить форматирование текста, не изменяя кода самого скрипта.




Нужно очень быстро решить задание. Стукните в асю 394820553 дам денег
 
Ответить с цитированием

  #1122  
Старый 21.06.2009, 16:35
budden
Участник форума
Регистрация: 26.07.2008
Сообщений: 267
Провел на форуме:
1343031

Репутация: 184
По умолчанию

Подскажите мини-скрипт пожалуйста, который бы в файле с кучей строк вида:
123 67 123 342132 12312 123 3bitch2:hello:hello5:4234
в первом сегменте - до первого ":" - удалял бы все пробелы?
 
Ответить с цитированием

  #1123  
Старый 21.06.2009, 16:54
Krist_ALL
Banned
Регистрация: 14.01.2009
Сообщений: 515
Провел на форуме:
1996429

Репутация: 468


Отправить сообщение для Krist_ALL с помощью ICQ
По умолчанию

$a = explode(':',"123 67 123 342132 12312 123 3bitch2:hello:hello5:4234");
$b = str_replace(' ','',$a[0]);
echo $b;
 
Ответить с цитированием

  #1124  
Старый 21.06.2009, 19:21
FireFenix
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
Провел на форуме:
3178262

Репутация: 389
По умолчанию

Цитата:
Сообщение от Krist_ALL  
$a = explode(':',"123 67 123 342132 12312 123 3bitch2:hello:hello5:4234");
$b = str_replace(' ','',$a[0]);
echo $b;
Это тема Perl, а не PHP
Цитата:
Как нужно правилньо файл открыть, чтобы она заработала?
В Perl нету explode, а есть split

Регулярка будет вроде - $text =~ s/ //g;

Последний раз редактировалось FireFenix; 21.06.2009 в 19:35..
 
Ответить с цитированием

  #1125  
Старый 21.06.2009, 19:31
Kaimi
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме:
18127311

Репутация: 1676


Отправить сообщение для Kaimi с помощью ICQ
По умолчанию

Попробуй так
Код:
open BLAH, '<', 'file.txt' or die 'can't read';
while(<BLAH>)
	{
	 chomp;
	 my ($a, $b) = split /:/, $_;
	 $a =~ s/\D//g; $b =~ s/ //g;
	 print $a.":".$b."\n";
	}
close BLAH;
 
Ответить с цитированием

  #1126  
Старый 21.06.2009, 19:45
budden
Участник форума
Регистрация: 26.07.2008
Сообщений: 267
Провел на форуме:
1343031

Репутация: 184
По умолчанию

Kaimi
Немного изменил под свой случай и помогло. Спасибо!
 
Ответить с цитированием

  #1127  
Старый 21.06.2009, 21:56
demond
Участник форума
Регистрация: 05.11.2008
Сообщений: 105
Провел на форуме:
292722

Репутация: 71
По умолчанию

Если надо удалить все пробелы, то регулярное выражение $b =~ s/ //g;
должно выглядеть так:
Код:
$b =~ s/\s+//g;
 
Ответить с цитированием

  #1128  
Старый 21.06.2009, 22:03
Kaimi
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме:
18127311

Репутация: 1676


Отправить сообщение для Kaimi с помощью ICQ
По умолчанию

Цитата:
Если надо удалить все пробелы, то регулярное выражение $b =~ s/ //g;
должно выглядеть так:
Почему?
 
Ответить с цитированием

  #1129  
Старый 21.06.2009, 22:16
Spyder
Members of Antichat - Level 5
Регистрация: 09.10.2006
Сообщений: 1,698
Провел на форуме:
9098076

Репутация: 4303


По умолчанию

насколько я помню то в \s помимо пробела ещё входят символ табуляции, перевода строки и тп символы
так что примре Kaimi наиболее правильный
ЗЫ
\s
Matches any whitespace character; this is equivalent to the class [ \t\n\r\f\v].
 
Ответить с цитированием

  #1130  
Старый 22.06.2009, 09:39
demond
Участник форума
Регистрация: 05.11.2008
Сообщений: 105
Провел на форуме:
292722

Репутация: 71
По умолчанию

Цитата:
Сообщение от Spyder  
насколько я помню то в \s помимо пробела ещё входят символ табуляции, перевода строки и тп символы
так что примре Kaimi наиболее правильный
ЗЫ
\s
Matches any whitespace character; this is equivalent to the class [ \t\n\r\f\v].
Буду иметь в виду. :-)
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
[php] Новичкам: задаем вопросы _Great_ PHP 16396 17.06.2010 21:19
Вопросы по Ipb 2.0 Voodoo_People Сценарии/CMF/СMS 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ