|
|
|
| Доброй ночи!
Подскажите плиз как можно с помощью запроса извлечь список наименований из поля в БД, отсортировать по возрастанию, сгруппировать по первой букве, вывести первую букву и ее список ...
точно знаю такое сделать можно !
результат хотелось бы такой:
А
аквариум
арбуз
Б
банан
батон
В
...
...
Спасибо если у кого привалялся такой такой скриптик ))) | |
|
|
|
|
|
|
|
для: AN
(17.02.2009 в 02:05)
| | Можно отталкиваться от следующего скрипта
<?php
$query = "SELECT * FROM tbl ORDER BY name";
$tbl = mysql_query($query);
if(!$tbl) echo mysql_error();
if(mysql_num_rows($tbl))
{
$letter = "";
while($result = mysql_fetch_array($tbl))
{
if($letter != $result['name'][0])
{
$letter = $result['name'][0];
echo "<h1>$letter</h1>";
}
echo "<p>".$result['name']."</p>";
}
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(17.02.2009 в 12:08)
| | здесь нужно указывать букву $letter = "";
а как сделать чтобы это все больше автоматизировать?
то есть, чтобы буквы определялись сами если на них присутствуют слова в списке? | |
|
|
|
|
|
|
|
для: AN
(17.02.2009 в 12:16)
| | >здесь нужно указывать букву $letter = "";
>а как сделать чтобы это все больше автоматизировать?
Нет, дело в том что $letter = "" - это инициализация переменной. Далее эта переменная автоматически изменяется всякий раз в if-блоке, как происходит переход от одной буквы к другой. | |
|
|
|
|
|
|
|
для: cheops
(17.02.2009 в 12:19)
| | почемуто вообще ничего не выводит | |
|
|
|
|
|
|
|
для: AN
(17.02.2009 в 12:58)
| | о! спасибо, заработало | |
|
|
|
|
|
|
|
для: AN
(17.02.2009 в 13:05)
| | а вот как подобные результаты выводят в 3-4 колонки?
если делать в цикле в таблице, оно разносит на право, а как делать в столбик, и разнести на 3-4 столбика? может быть подскажите? | |
|
|
|
|
|
|
|
для: AN
(17.02.2009 в 13:13)
| | я думаю может подсчитать результаты запроса, поделить на 4, и выводит 1,2,3 и 4 части в разных колонках? но собьется по буквенные заголовки, если где то на "С" прирвется, то с новой колонки на "С " и начнется вот как тут быть?
вот хочу сделать типа как вот тут http://marketgid.com/ "все категории по алфавиту" | |
|
|
|
|
|
|
|
для: AN
(17.02.2009 в 13:40)
| | ауууууууууу подскажите, по зарез нужно! | |
|
|
|
|
|
|
|
для: AN
(17.02.2009 в 15:51)
| | Сделайте счетчик - в цикле for инициализируйте переменную и прибавляейте ей по одному значению. Как только значение будет равно 3 выводите </tr> и обнуляйте счетчик | |
|
|
|
|
|
|
|
для: ols
(17.02.2009 в 15:59)
| | точно, спасибо, я так обычно и делаю, но подумал это может можно как то стилем сделать? | |
|
|
|