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

Форум MySQL

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

 

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

вид форума:
Линейный форум Структурный форум

тема: подсчет строк в базе
 
 автор: FaStY   (24.01.2006 в 00:31)   письмо автору
 
 

Вот какие проблемы:
1) есть страница, в которой выводится новости, к новостям есть коментарии, они находятся на другой странице, подскажите как сделать, чтобы на странице новостей было показано, скока коментариев к каждой новости.
2) похожая проблема: есть страница, в которой существуют 2 ссылки: написать письмо, входящие сообщения. Как мне сделать, чтобы возле ссылки входящие показывалось есть ли новые сообщения и, если есть, то сколько их?(При переходе на ссылку входящие, у меня возле заголовка письма показывает новое это письмо или оно прочитанное(я сделал, чтобы к каждому написанному письму в таблицу занасилась цифра 1, а после прочтения письма в таблице значение 1 менялось на 0, так я сделал, чтобы можно было возле заголовка письма написать НОВОЕ СООБЩЕНИЕ )Надеюсь я понятно объяснил :)
3)еще вот: подскажите, как сделать, чтобы в базу данных как бы добавлялось значение. Я хочу сделать адресню книгу, но вот принцип добавление пользователя я не понимаю, чтобы в этой адресной книге не один человек был, а несколько.

   
 
 автор: cheops   (24.01.2006 в 02:06)   письмо автору
 
   для: FaStY   (24.01.2006 в 00:31)
 

Неплохо бы увдеть стурктуру таблиц :))), без структуры сложно посоветовать как поступить лучше.

   
 
 автор: FaStY   (24.01.2006 в 11:49)   письмо автору
 
   для: cheops   (24.01.2006 в 02:06)
 

1)база с новостями: 3 таблицы: comments(поля:id, author, email, date, comments ), user(я думаю не важно :)) news(поля: id, author, date, theme, news, fullnews, com(если значение 1, то в новостях показывается коментарии, а если 0, то не показывается)).
2)база с письмами: 2 таблицы: user и message(id, pismoot, pismoto, theme, text, readed(если значение 1, то это новое сообщение, если 0, то прочитанное))
3)как и в #2 :)
Так пойдет?

   
 
 автор: cheops   (24.01.2006 в 12:59)   письмо автору
 
   для: FaStY   (24.01.2006 в 11:49)
 

1) А связь между таблицами comments и news через какое поле осущетсвляется, как определить какой комметарий какой новости принадлежит?
2) Можно осуществить при помощи запроса
SELECT COUNT(*) FROM message WHERE readed > 0

но это будет для всей таблицы в целом, если нужно для каждого конкретного пользователя, необходимо связывать таблицы user и message, добавив в таблицу message поле, которое будет сообщать какому пользователяю принадлежит сообщение.
3) Не понятно назначение таблицы user - это адреса в адресной книге или пользователи системы?

   
 
 автор: FaStY   (24.01.2006 в 13:28)   письмо автору
 
   для: cheops   (24.01.2006 в 12:59)
 

1) связь идет по ID, id для новостей авто_инклеминтируется, а при написании коментариев, в Id для коментариев просто заносится ID новости, к которой и пишется коментарий.
2) мне нужно для каждого конкретного пользователся. Хотя вроде я сам разобрался :)
3) это пользователи системы.

   
 
 автор: cheops   (24.01.2006 в 13:36)   письмо автору
 
   для: FaStY   (24.01.2006 в 13:28)
 

1) Попробуйте так
SELECT news.news, COUNT(comments.id) AS count FROM news LEFT JOIN comments USING(id)

   
 
 автор: FaStY   (24.01.2006 в 14:15)   письмо автору
 
   для: cheops   (24.01.2006 в 13:36)
 

1)пишет ошибку: Query failed

   
 
 автор: cheops   (24.01.2006 в 22:50)   письмо автору
 
   для: FaStY   (24.01.2006 в 14:15)
 

Кто пишет, mysql, PHP-скрипт? Нужно больше подробностей.

   
 
 автор: FaStY   (24.01.2006 в 22:56)   письмо автору
 
   для: cheops   (24.01.2006 в 22:50)
 

при выполнения скрипта. А какие подробности? может просто я кину базу и сам файл? там все подробности :)
2) и еще вот вопрос: как мне дописать данные в базу данных? если у меня там уже есть например имя FaStY, как мне дописать туда еще одно имя например cheops?, чтобы было в ячейке FaStY | cheops. И сразу попутный вопрос? как мне потом отсортировать эти записи при запросе на вывод информации из базы?

   
 
 автор: cheops   (25.01.2006 в 03:06)   письмо автору
 
   для: FaStY   (24.01.2006 в 22:56)
 

>при выполнения скрипта. А какие подробности? может просто я
>кину базу и сам файл? там все подробности :)
Давайте, только прикрепляйте их виде архива, чтобы тема не разрасталась...

>2) и еще вот вопрос: как мне дописать данные в базу данных?
>если у меня там уже есть например имя FaStY, как мне
>дописать туда еще одно имя например cheops?, чтобы было в
>ячейке FaStY | cheops. И сразу попутный вопрос? как мне
>потом отсортировать эти записи при запросе на вывод
>информации из базы?
Т.е. правильно ли я понял - запись идёт в одну ячейку? Тогда можно воспользоваться оператором UPDATE
UPDATE tbl SET name = CONCAT(name,'| cheops') WHERE name = 'FaStY'

   
 
 автор: FaStY   (25.01.2006 в 15:57)   письмо автору
 
   для: cheops   (25.01.2006 в 03:06)
 

да, в одну ячейку. Спасибо большое.
вот прикрепляю файл.

   
 
 автор: cheops   (25.01.2006 в 23:36)   письмо автору
 
   для: FaStY   (25.01.2006 в 15:57)
 

Для подсчёта числа комментариев можно использовать следующий запрос
SELECT news.id, COUNT(comments.id) AS count 
FROM news LEFT JOIN comments 
USING(id) 
GROUP BY news.id

   
 
 автор: FaStY   (26.01.2006 в 19:25)   письмо автору
 
   для: cheops   (25.01.2006 в 23:36)
 

Я вот как делаю:
запрос:

  $query_count = "SELECT news.id, COUNT(comments.id) AS count 
FROM news LEFT JOIN comments 
USING(id) 
GROUP BY news.id ";
  $result_count = mysql_query ($query_count)
    or die ("Query failed");
    $countrow_count=mysql_num_rows($result_count );

а это вывод коментариев:

$countrow_count

чего не хватает для полного счтастья(ато все равно не работает :()?как оно определят, с какого поля брать кол-во новостей?

   
 
 автор: cheops   (26.01.2006 в 19:52)   письмо автору
 
   для: FaStY   (26.01.2006 в 19:25)
 

А нет дело в том, что запрос выводит несколько строк - по числу новостей
<?php
  $query_count 
"SELECT news.id, COUNT(comments.id) AS count 
FROM news LEFT JOIN comments 
USING(id) 
GROUP BY news.id "

  
$result_count mysql_query ($query_count); 
  if(!
$result_count) exit(mysql_error());
  while(
$countrow_count=mysql_fetch_array($result_count ))
  {
    echo 
"id - ".$countrow_count['news.id']." (".$countrow_count['count'].")<br>";
  }
?>

   
Rambler's Top100
вверх

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