[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Организация алфавитного поиска.
bimq
в БД есть таблица, main.
в ней 4 поля, - id, abc, title, text.
id - первичный+автозаполнение.
abc - буква алфавита указателя.
title - искомый предмет.
text - описание предмета.

Задумка, дан алфавит, и на каждой букве ссылка с гет-запросом.
Хотелось бы организовать это так:
к ссылке буквы приписывается гет-запрос, и при нажатии на букву (к примеру) "А", выводится список предметов на букву "А".
Как это осуществить?
представляется смутно, одно понятно что в цикле.



Спустя 10 минут, 24 секунды (7.03.2010 - 22:58) Nikitian написал(а):

$result=mysql_query('select id,title from tbl where abc="'.mysql_escape_string(substr($_GET['letter'],0,1)).'"');
if($result && mysql_num_rows($result)>0)
while($res=mysql_fetch_assoc($result))
echo'<p><a href="/details.php?id='.intval($res['id']).'">'.htmlspecialchars($res['titile']).'</a></p>';

Спустя 3 дня, 19 часов, 2 минуты, 1 секунда (11.03.2010 - 18:00) bimq написал(а):
Решил вопрос по другому:
<?

include("db.php");

for ($x="A";$x<"Z";++$x)
{

echo "<a href='index.php?goto=$x'>$x </a>";

}

echo "<a href='index.php?goto=$x'>Z</a><br>";

if (isset($_GET['goto']))
{

$letter=$_GET['goto'];
$result=mysql_query("SELECT * FROM main WHERE SUBSTRING(name,1,1) like '$letter' ORDER BY name");
echo mysql_error();

while ($rij=mysql_fetch_array($result))
{

$name="$rij[name]";
$text="$rij[text]";

if (!empty($name)){echo "id: <b>$name</b><br>";}
if (!empty($text)){echo "letter: $text<br>";}

}

}


?>


еще один возник, как сгенерить кириллический алфавит?

Спустя 1 час, 22 минуты, 23 секунды (11.03.2010 - 19:22) Nikitian написал(а):
При большом количестве строк будет нещадно тормозить.
Запрос лучше переписать так:

$result=mysql_query("SELECT * FROM main WHERE name like '".mysql_escape_string(substr($letter,0,1))."%' ORDER BY name");

Спустя 8 часов, 52 минуты, 17 секунд (12.03.2010 - 04:14) bimq написал(а):
Nikitian, спасибо.
Цитата
еще один возник, как сгенерить кириллический алфавит?



Спустя 4 часа, 28 минут, 42 секунды (12.03.2010 - 08:43) Nikitian написал(а):
Алфавит так часто меняется, что его надо генерить? biggrin.gif
Вот, пожалуйста, пользуйтесь. Не забыл ещё smile.gif

$abc=array('АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫьЭЮЯ',
'абвгдеёжзийклмнопрстуфхцчшщъыьэюя');

Спустя 5 часов, 55 минут, 45 секунд (12.03.2010 - 14:39) bimq написал(а):
Надо что-то наподобе такого:
for ($x="A";$x<"Z";++$x)
{

echo "<a href='index.php?goto=$x' id='abc'>$x</a>";

}

echo "<a href='index.php?goto=$x' id='abc'>Z</a>";

чтоб каждая буква сразу становилась ссылкой.)
з.ы. для каждой буквы прописывать ссылку, как-то не профессионально. smile.gif

Спустя 18 минут, 51 секунда (12.03.2010 - 14:58) Nikitian написал(а):

$abc='АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫьЭЮЯ';
for($i=0;$i<strlen($abc);$i++)
echo "<a href='index.php?goto=$abc[$i]' id='abc'>$abc[$i]</a>";


А вообще неправильно заставлять интерпретатор выполнять оди и те же действия, над статичными данными. Шаблонами надо польваться - это профессиональней wink.gif

Спустя 1 час, 53 минуты, 53 секунды (12.03.2010 - 16:51) bimq написал(а):
Спасибо! это гуд! smile.gif
з.ы. шаблоны не интересно, игрался с ними надоело, самому интересней.)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.