Здесь курят мануал.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха переехала на новый сервер, ура!

Краснодарское время: 25 Май, 2012, 11:26:16

Страниц: [1] 2
Печать
Автор Тема: Выборочная сортировка данных из БД  (Прочитано 4048 раз)
0 Пользователей и 1 Гость смотрят эту тему.
smv    ↓ 
04 Март, 2008, 09:45:04
НЕ ХУЕТА! ХУЕТА!

Карма: -2
Сообщений: 234
Сила слова: -0.85

Добрый вечер!
Хочу попросить вас о помощи. Вопрос касается вывода данных из базы.
 
Вопрос:
 
Есть таблица в БД
id     day    name
1      пн.     Ваня
2      пн.     Петя
3      вт.     Рома
4      ср.     Гена
 
Результатом вывода должна быть таблица со столбцами day и name, но так чтобы значения столбца day выводились в единственном числе. Например:
 
Желаемы результат
day    name
пн.     Ваня
         Петя
вт.     Рома
ср.     Гена
 
Таблица выводится цыклически, то есть имеет одну строку и два столбца, куда и выводятся данные.
 
Ломаю голову ужу 3 день и все никак.
Заранее спасибо.
Записан
ghost    ↓ 
04 Март, 2008, 10:03:48 , спустя 18 минут 44 секунды
НЕ ХУЕТА! ХУЕТА!

без вариантов
Группа: в ухо

Карма: 29
Сообщений: 876
Сила слова: 3.31

Ломаю голову ужу 3 день и все никак.
ну это наверное потому что база данных тут нипричем :)
Записан

Если ты уже два часа споришь с идиотом - скорее всего он делает тоже самое...
smv    ↓ 
04 Март, 2008, 10:08:41 , спустя 4 минуты 53 секунды
НЕ ХУЕТА! ХУЕТА!

Карма: -2
Сообщений: 234
Сила слова: -0.85

Ну а как это можно реализовать? Может есть у вас мысли какие-то?
Записан
ghost    ↓ 
04 Март, 2008, 10:14:07 , спустя 5 минут 26 секунд
НЕ ХУЕТА! ХУЕТА!

без вариантов
Группа: в ухо

Карма: 29
Сообщений: 876
Сила слова: 3.31

это реализуется непосредственно при выводе массива, при помощи проверки на совпадение текущего дня с предыдущим
Записан

Если ты уже два часа споришь с идиотом - скорее всего он делает тоже самое...
smv    ↓ 
04 Март, 2008, 10:17:33 , спустя 3 минуты 26 секунд
НЕ ХУЕТА! ХУЕТА!

Карма: -2
Сообщений: 234
Сила слова: -0.85

А можно по подробнее, а то я сам в PHP не очень то шарю.
Записан
AlexB    ↓ 
04 Март, 2008, 10:26:44 , спустя 9 минут 11 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 89
Сообщений: 3425
Сила слова: 2.6

А чего подробнее?
Ничего, кроме банального запроса к БД, цикла и ифа для решения задачи не требуется. Т.е. самые основы основ.
Так на каком этапе у тебя проблема?
Записан

smv    ↓ 
04 Март, 2008, 10:38:01 , спустя 11 минут 17 секунд
НЕ ХУЕТА! ХУЕТА!

Карма: -2
Сообщений: 234
Сила слова: -0.85

Впринципе вопрсов много.
 
Если все сводится к селекту и ифам, тогда:
1. Делаю селект из таблицы БД
2. Получаю все записи из таблицы
3. Данные столбца name остаются без изменений, вывожу как есть
 
Начинаются вопросы: )
 
4. Не совсем представляю алгоритм сравнения...
 

Если не сложно напиши пожалуйста примерный порядок действий.
Записан
Timur    ↓ 
04 Март, 2008, 10:39:04 , спустя 1 минуту 3 секунды
НЕ ХУЕТА! ХУЕТА!

NullPointerException
Группа: в ухо

Карма: 56
Сообщений: 1009
Сила слова: 5.55

PHP
...
$prevDay = null; // день из предыдущей записи
print '<table>';
while ($row = mysql_fetch_assoc($queryResult)) {
    print '<tr><td>'
    if ($prevDay != $queryResult['day']) { // выводим день только один раз
        $prevDay = $queryResult['day'];
        print $queryResult['day'];
    }
    print "</td><td>{$row['name']}</td></tr>";
}
...
Записан
smv    ↓ 
04 Март, 2008, 10:46:27 , спустя 7 минут 23 секунды
НЕ ХУЕТА! ХУЕТА!

Карма: -2
Сообщений: 234
Сила слова: -0.85


PHP
...
$prevDay = null; // день из предыдущей записи
print '<table>';
while ($row = mysql_fetch_assoc($queryResult)) {
    print '<tr><td>'
    if ($prevDay != $queryResult['day']) { // выводим день только один раз
        $prevDay = $queryResult['day'];
        print $queryResult['day'];
    }
    print "</td><td>{$row['name']}</td></tr>";
}
...

Огромное спасибо. Очень помог.
Записан
smv    ↓ 
05 Март, 2008, 11:58:01 , спустя 13 часов 11 минут 34 секунды
НЕ ХУЕТА! ХУЕТА!

Карма: -2
Сообщений: 234
Сила слова: -0.85

Добрый день. Опять проблема. Этот скрипт что то не работает, не пойму почему. В IF выдает ошибку Parse error: syntax error, unexpected T_IF
 
PHP

$result = mysql_query("SELECT * FROM timetable704");
$row = mysql_fetch_assoc($result);
 
$prevDay = null; // день из предыдущей записи
print '<table>';
while ($row = mysql_fetch_assoc($result)) {
    print '<tr><td>'
    if ($prevDay != $row['day']) { // выводим день только один раз
        $prevDay = $row['day'];
        print $row['day'];
        }
    print "</td><td>{$row['name']}</td></tr>";
}   
print '</table>';
 
« Последнее редактирование: 05 Март, 2008, 12:08:00 от md5 » Записан
vasa_c    ↓ 
05 Март, 2008, 12:01:18 , спустя 3 минуты 17 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 81
Сообщений: 2459
Сила слова: 3.29

Перевести?
Записан

smv    ↓ 
05 Март, 2008, 12:14:47 , спустя 13 минут 29 секунд
НЕ ХУЕТА! ХУЕТА!

Карма: -2
Сообщений: 234
Сила слова: -0.85

Лучше наверное сущность ошибки изложить, ну и помоч конечно это исправить, если не рудно.
Записан
md5    ↓ 
05 Март, 2008, 12:30:21 , спустя 15 минут 34 секунды
НЕ ХУЕТА! ХУЕТА!

выезд, апартаменты, массаж, стриптиз, подружки, дорого
Группа: в ухо

Карма: не нужна
Сообщений: 10495
Сила слова: 1.19

точку с запятой пропустил Тимур
Записан

8: Undefined variable: str
Файл: /home/pyha/pyha.ru/forum/bbcode/Xbb/Tags/Man.php
Строка: 18
adw0rd: мудень блять, я уже фиксить стал эту фигню :)
md5: вуахахахаха
smv    ↓ 
05 Март, 2008, 12:35:09 , спустя 4 минуты 48 секунд
НЕ ХУЕТА! ХУЕТА!

Карма: -2
Сообщений: 234
Сила слова: -0.85

о... Спасибо
Записан
smv    ↓ 
05 Март, 2008, 05:43:55 , спустя 5 часов 8 минут 46 секунд
НЕ ХУЕТА! ХУЕТА!

Карма: -2
Сообщений: 234
Сила слова: -0.85

Опять беда. Не выводитяс первая строка в таблице.
 
PHP

 
$result = mysql_query("SELECT * FROM timetable704 order by case when day like '%пн.%' then 1 when day like '%вт.%' then 2 when day like '%ср.%' then 3 when day like '%чт.%' then 4 when day like '%пт.%' then 5 else 6 end");
$row = mysql_fetch_assoc($result);
 
$prevDay = null; // день из предыдущей записи
print '<table>';
while ($row = mysql_fetch_assoc($result)) {
    print '<tr><td>';
    if ($prevDay != $row['day']) { // выводим день только один раз
        $prevDay = $row['day'];
        print $row['day'];
        }
    print "</td><td>{$row['name']}</td></tr>";
}   
print '</table>';
 

Пожалуйста подскажитечто делать. Заранее спасибо.
Записан
Страниц: [1] 2
Печать
 

Перейти в: