Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Очень простой запрос, но как?)

Сообщения:  [1-4] 

 
 автор: Trianon   (07.02.2010 в 15:14)   письмо автору
 
   для: LINKIN   (07.02.2010 в 14:00)
 

Последние три три строки по каждой группе - в SQL - тонкий момент.
Не всякая версия сервера поддерживает такие запросы.
Можно, правда, вычерпать все, а вывести только по первой тройке...
<? $sql "
SELECT n.*, c.*,s.*,  n.title AS n_title,  c.title AS c_title, s.title AS s_title
  FROM newsfeed n 
    JOIN categories с ON c.id = n.id_categories
    JOIN sections s ON s.id = n.id_sections
  ORDER BY s.id, c.id, n.created DESC
"; ?>


<? 
$res 
mysql_query($sql) or die "Error in <pre>$sql</pre>"mysql_error());
for(
$sd $cd ''$row mysql_fetch_assoc($res);)
{
    if(
$cd != '' && $cd != $row['id_categories'] || $sd != '' && $sd != $row['id_sections'])
    {
        echo 
"<br>"//end of category
        
$cd == '';
        if(
$sd != '' && $sd != $row['id_sections'])
        {
            echo 
"<hr>"//end of section
            
$sd == '';
        }
    }
    if(
$sd == '')
    {
        
$sd $row['id_sections'];
        
$cd ''$nl 0;
        echo 
"<br/><H1>".htmlspecialchars($row['s_title'])."</H1>";
    }
    if(
$cd == '')
    {
        
$sd $row['id_categories'];
        
$cd ''$nl 0;
        echo 
"<br/><H2>".htmlspecialchars($row['c_title'])."</H2>";
    }
    if(++
$nl <= 3)
        echo 
"<p>".htmlspecialchars($row['created']) . "<br> " .htmlspecialchars($row['n_title']) ."</p>\r\n";
}


писал из головы - без проверки. Могут быть ляпы.

  Ответить  
 
 автор: LINKIN   (07.02.2010 в 14:00)   письмо автору
 
   для: Trianon   (07.02.2010 в 12:29)
 

ОК. Даю полностью вид таблицы.

http://webdeveloper.net.ua/table.jpg

теперь что сделать нужно. простыми словами, без терминов
нужно выбрать по три последних события для каждой команды

Опережаю ваш вопрос. "первая таблица - это что? что с ней делать?"
Это секции, когда ты нажимаешь на секцию политика, там выводятся последние три события партий.

  Ответить  
 
 автор: Trianon   (07.02.2010 в 12:29)   письмо автору
 
   для: LINKIN   (07.02.2010 в 02:40)
 

Результат (любого) SQL-запроса не является двумерным массивом в Вашем понимании.
Результат SQL-запроса это ровная прямоугольная таблица со строками и столбцами.
N строк на M столбцов и никак иначе.
Вам нужно научиться из массива вида
array(
   array(1, 110),
   array(1, 120),
   array(1, 130),
   array(2, 210),
   array(2, 220),
   array(2, 230),
   array(3, 310),
   array(3, 320),
   array(3, 330)
);

делать массив вида
array(
   array(1, array(110, 120, 130),
   array(2, array(210, 220, 230),
   array(3, array(310, 320, 330)
);

И работа с SQL имеет к этому отношение весьма опосредованное

  Ответить  
 
 автор: LINKIN   (07.02.2010 в 02:40)   письмо автору
 
 

Есть таблица t1. В ней записи
Динамо
Шахтар
Таврия
Металлург Донецк
Оболонь


Есть таблица t2. В этой таблице t2 множество записей и каждая запись соответствует одной конкретной записи из таблица t1 (либо Динамо, либо Шахтар, либо Таврия, либо Металлург Донецк, либо Оболонь). Связь по id.

Как должен выглядеть запрос, который выводит по 3 последних по времени записи из таблицы t2 для каждого из значений таблицы t1? Результатом, очевидно, должен быть двумерный массив.

В итоге картина:
Динамо
1. ...
2. ...
3. ...
Шахтар
1. ...
2. ...
3. ...
Таврия
1. ...
2. ...
3. ...

  Ответить  

Сообщения:  [1-4] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования