|
| |
|
|
| |
для: Nevi
(01.05.2007 в 02:37)
| | | Можно сделать просто фалы по буквам, то-есть Н.тхт, А.тхт тогда всё будет намного проще и удобнее в дальнейшем. | |
| |
|
|
| |
|
|
| |
для: Nevi
(01.05.2007 в 02:37)
| | | Решение одно - использовать базу mysql. Быстро, удобно, безпроблемно.
Пора забывать про текстовые файлы.. | |
| |
|
|
| |
|
|
| |
для: bronenos
(30.04.2007 в 20:35)
| | | не .....
спасибо конечно всем, но видимо вы не поняли задачу.
по точке ориентироваться нельзя , так как в описании много предложение и все они заканчиваются на точку !!!
Тут прокатит ТОЛЬКО проверка на первую букву в начале строки
решения нет | |
| |
|
|
| |
|
|
| |
для: Nevi
(30.04.2007 в 19:08)
| | |
<?php
$file = file ('mashina.txt');
$model = $_GET['model'];
if (strlen($model) > 1) $model = $model[0]; // на всякий случай
$cars = array();
foreach ($file as $f)
{
list ($m, $d) = explode ('. ', trim($f));
if ($m[0] != $model) continue;
$cars[$m] = $d;
}
print '<pre>';
print_r ($cars);
print '</pre>';
?>
|
насчет постраничного - на форуме много таких тем я видел | |
| |
|
|
| |
|
|
| |
для: Nevi
(30.04.2007 в 19:08)
| | | В три строчки получится, если использовать какую-нибудь базу данных.
<?php
$n = 2; // количество моделей на страницу
$mashina = file("mashina.txt");
for ( $i = 0; $i < count($mashina); $i++ )
$arr[$mashina[$i][0]][] = trim($mashina[$i]);
foreach( $arr as $key => $value ) {
sort($value);
$arr[$key] = $value;
}
if ( !empty($_GET['model']) ) {
$i = (!empty($_GET['page'])) ? $_GET['page'] * $n : 0;
print "<a href='index.php?model=".$_GET['model']."&page=".($i + 1)."'>далее</a><br/>";
$j = $i + $n;
for ( ; $i < $j; $i++ ) {
list($mod, $desc) = explode(". ", $arr[$_GET['model']][$i], 2);
print $mod."; ".$desc."<br/>";
}
}
|
| |
| |
|
|
| |
|
|
| |
для: Valick
(30.04.2007 в 19:25)
| | | Хорвет - это хорватский Корвет :) | |
| |
|
|
| |
|
|
| |
для: Nevi
(30.04.2007 в 19:08)
| | | Ну, три строки может и не три. но смысл в том. чтобы записать содержимое файла в массив с помощью file(), и с этим массивом уже работать. А вообще проще записать это всё в БД, тогда строчка будет вообще одна=)))
<?php
mysql_query("SELECT * FROM machines WHERE SUBSTR(0, 1, name) = N"); // кажись, так
?>
|
| |
| |
|
|
| |
|
|
| |
для: Nevi
(30.04.2007 в 19:08)
| | | иначе вообще никто не сможет решить =))))
Да я просто уверен в этом....
P.S. Хорвет, что за машина? Чья? Китай? | |
| |
|
|
| |
|
|
| | Здравствуйте!
Не могу победить следующую задачу.
есть txt файл mashina.txt в котором перечислены машины в алфавитом порядке по одной строке на каждую марку
Ауди. <Описание марки.........>
Альфа ромео. <Описание марки.........>
.
.
.
.
Харлей. <Описание марки.........>
Хорвет. <Описание марки.........>
Хюндай. <Описание марки.........>
Хонда. <Описание марки.........>
Черри. <Описание марки.........>
Шевроле. <Описание марки.........>
Ягуар. <Описание марки.........>
нужно при запросе конкретной буквы - выводить инфу только по этой буквы
например
test.php?model=Х выводить только Харлей. Хорвет . Хундай и Хонда
двойная сложность в том, что если на одну букву более N моделей , то нужно выводить постранично по N моделей.
например $N=2;
выводить на первой странице
Харлей и Хорвет
а на второй странице
Хундай и Хонда
нагромоздил огромный код с десятками проверок strpos после считывания $xfile = @file('mashina.txt'); но чуствую что это отстойное решение и есть элегантное решение в 3-4 строки я уверен в этом!!!
ПОМОГИТЕ пожалуйста, как решить двойную задачу элегантно....
PS : на самом деле задача тройной сложности, потому что в этом же скрипте подставляются различные txt файлы (mashina.txt samolet.txt итд ) - но я не стал уж тут спрашивать - иначе вообще никто не сможет решить =)))) | |
| |
|
|
|