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

Форум MySQL

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

 

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

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

тема: Помогите с сортировкой и выводом по двум таблицам

Сообщения:  [1-10]   [11-14] 

 
 автор: Trianon   (09.05.2007 в 23:08)   письмо автору
 
   для: Sergeous   (09.05.2007 в 21:59)
 

Список новостей с указанием категорий можно получить примерно так:


<?php

$sql 
"SELECT news.id_news, news.txt, category.id_category, category.name
  FROM news
    LEFT JOIN category ON news.id_category = category.id_category"
;
$res mysql_query($sql) or die("Error in $sql: ".mysql_error());
while(
$row mysql_fetch_assoc($res))
{
    
$id_news $row['id_news'];
    
$id_category $row['id_category'];
    
$news_txt nl2br(htmlspecialchars($row['txt']));
    
$name htmlspecialchars($row['name']);

    echo 
"<br/>News $id_news from category $id_category ($name):<br/>$news_txt<br/>";
}

?>


Список категорий с количеством новостей в них может быть получен примерно так


<?php

$sql 
"
SELECT category.id_category, category.name, tabcnt.cnt
FROM category
LEFT JOIN
  (SELECT COUNT(id_news) AS cnt, id_category
   FROM news
    GROUP BY id_category)
  AS tabcnt ON category.id_category = tabcnt.id_category
  WHERE tabcnt.cnt > 0
  ORDER BY tabcnt.cnt DESC
  "
;
$res mysql_query($sql) or die("Error in $sql: ".mysql_error());
while(
$row mysql_fetch_assoc($res))
{
    
$id_category $row['id_category'];
    
$name htmlspecialchars($row['name']);    
    
$cnt $row['cnt'];
    
    echo 
"Category $id_category ($name) have $cnt entries<br/>";
}

?>

   
 
 автор: mr Bin   (09.05.2007 в 22:36)   письмо автору
 
   для: golovdinov   (09.05.2007 в 22:33)
 

аа..

   
 
 автор: golovdinov   (09.05.2007 в 22:33)   письмо автору
 
   для: mr Bin   (09.05.2007 в 22:30)
 

Так это ж насчет вопроса Sergeous.

   
 
 автор: mr Bin   (09.05.2007 в 22:30)   письмо автору
 
   для: golovdinov   (09.05.2007 в 22:25)
 

Откуда взялась таблица news?

   
 
 автор: golovdinov   (09.05.2007 в 22:29)   письмо автору
 
   для: Trianon   (09.05.2007 в 22:20)
 

Будьте так любезны, напишите наглядный пример с комментариями, а то очень мне нужно это понять и знать, поскольку тут уже несколько подобных проблем намечается :(

   
 
 автор: golovdinov   (09.05.2007 в 22:25)   письмо автору
 
   для: Sergeous   (09.05.2007 в 21:59)
 

Я это делаю подобным образом:

<?
$get_news 
mysq_query ("SELECT * FROM news ....");
while (
$news mysql_fetch_array ($get_news)) {
  
$category mysql_fetch_array (mysql_query ("SELECT name FROM categories WHERE category_id = '".$news['category_id']."'"));
  print 
$category['name'];
}
?>


Мож мне кто поможет???

   
 
 автор: Trianon   (09.05.2007 в 22:20)   письмо автору
 
   для: golovdinov   (09.05.2007 в 21:19)
 

Конечно, получится.

   
 
 автор: Sergeous   (09.05.2007 в 21:59)   письмо автору
 
   для: Trianon   (09.05.2007 в 20:06)
 

А вот если у меня в таблице news в поле id_category соответствует id_category из таблицы category где есть название категории.

Как мне вывести все новости, и чтобы рядом было название категории?...

Вот как сделать соответствие id_category (news) = id_category (category) - name
Вообщем чтобы вместо id в результате выводилось название категории... ?

   
 
 автор: golovdinov   (09.05.2007 в 21:19)   письмо автору
 
   для: Trianon   (09.05.2007 в 20:06)
 

to mr Bin все правильно.

to Trianon я подумаю над вашим предложением :) но у меня все-равно статьи все уникальными name, вы уверенны что из этого ничего не получится?

   
 
 автор: Trianon   (09.05.2007 в 20:06)   письмо автору
 
   для: golovdinov   (09.05.2007 в 17:20)
 

Пока у Вас будет "category в таблице со статьями соответствует name в таблице категорий" вместо "я убрал поле category из таблицы articles и вместо него добавил поле category_id INT(11) - оно у меня соответствует полю id в строке раздела из таблицы categories" , я врядли смогу Вам помочь.

Посудите сами - захочется Вам скорректировать имя одной категории - сколько строк Вы будете менять?

   

Сообщения:  [1-10]   [11-14] 

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

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