|
|
|
| Подскажите как можно сделать такое
в таблице 3 столбика
Id | cid | tite |
1 | 2 | oleg |
2 | 2 | vitek |
3 | 2 | zzzz |
4 | 3 | ccccc|
5 | 3 | rrrrrr |
6 | 4 | ssss|
|
как сделать такой ввывод в одном запросе
$result = $db->sql_query("SELECT * FROM ".$prefix."_autosales_model ORDER by cid");
while ($row = $db->sql_fetchrow($result)) {
echo "Категория $row[cid] : XXXXXXXX";
}
|
Категория 2 : oleg,vitek,zzzz
Категория 3 : ccccc,rrrrrr
Категория 4 : ssss
Заранее спасибо | |
|
|
|
|
|
|
|
для: gurza
(28.03.2006 в 17:51)
| | А насколько длинная может быть строка? И какая версия MySQL сервера? | |
|
|
|
|
|
|
|
для: Trianon
(28.03.2006 в 18:25)
| | MySQL 4.1.8-max
ну а строка будет зависеть от количества моделей у данной марки авто
ну и можно впринципе каждую запись с новой строки делать
напр : Категория 2:ХХХХХХ
ХХХХХХ
ХХХХХХХХХ | |
|
|
|
|
|
|
|
для: gurza
(28.03.2006 в 18:38)
| | может быть больше 1000 символов?
Если нет - можно применить GROUP_CONCAT в запросе. | |
|
|
|
|
|
|
|
для: Trianon
(28.03.2006 в 18:48)
| | а что если больше будет работать не будет? | |
|
|
|
|
|
|
|
для: gurza
(28.03.2006 в 19:21)
| | Да нет, будет.... Но придется переставлять умолчание предельной длины. Что тоже несложно.
Даже если версия сервера < 4.1 тоже можно сделать. Например так:
$result = $db->sql_query("SELECT * FROM ".$prefix."_autosales_model ORDER by cid");
$prev = 0;
while ($row = $db->sql_fetchrow($result))
{
if($prev != $row['cid'])
{
$prev =$row['cid'];
$sep = "Категория $prev :";
}
echo $sep.' '.$row['tite']. '<br />';
$sep = ', ';
}
|
но это некрасиво. | |
|
|
|
|
|
|
|
для: Trianon
(28.03.2006 в 19:36)
| | Спасибо все пашет | |
|
|
|