|
|
|
| Вот какие проблемы:
1) есть страница, в которой выводится новости, к новостям есть коментарии, они находятся на другой странице, подскажите как сделать, чтобы на странице новостей было показано, скока коментариев к каждой новости.
2) похожая проблема: есть страница, в которой существуют 2 ссылки: написать письмо, входящие сообщения. Как мне сделать, чтобы возле ссылки входящие показывалось есть ли новые сообщения и, если есть, то сколько их?(При переходе на ссылку входящие, у меня возле заголовка письма показывает новое это письмо или оно прочитанное(я сделал, чтобы к каждому написанному письму в таблицу занасилась цифра 1, а после прочтения письма в таблице значение 1 менялось на 0, так я сделал, чтобы можно было возле заголовка письма написать НОВОЕ СООБЩЕНИЕ )Надеюсь я понятно объяснил :)
3)еще вот: подскажите, как сделать, чтобы в базу данных как бы добавлялось значение. Я хочу сделать адресню книгу, но вот принцип добавление пользователя я не понимаю, чтобы в этой адресной книге не один человек был, а несколько. | |
|
|
|
|
|
|
|
для: FaStY
(24.01.2006 в 00:31)
| | Неплохо бы увдеть стурктуру таблиц :))), без структуры сложно посоветовать как поступить лучше. | |
|
|
|
|
|
|
|
для: 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 :)
Так пойдет? | |
|
|
|
|
|
|
|
для: FaStY
(24.01.2006 в 11:49)
| | 1) А связь между таблицами comments и news через какое поле осущетсвляется, как определить какой комметарий какой новости принадлежит?
2) Можно осуществить при помощи запроса
SELECT COUNT(*) FROM message WHERE readed > 0
|
но это будет для всей таблицы в целом, если нужно для каждого конкретного пользователя, необходимо связывать таблицы user и message, добавив в таблицу message поле, которое будет сообщать какому пользователяю принадлежит сообщение.
3) Не понятно назначение таблицы user - это адреса в адресной книге или пользователи системы? | |
|
|
|
|
|
|
|
для: cheops
(24.01.2006 в 12:59)
| | 1) связь идет по ID, id для новостей авто_инклеминтируется, а при написании коментариев, в Id для коментариев просто заносится ID новости, к которой и пишется коментарий.
2) мне нужно для каждого конкретного пользователся. Хотя вроде я сам разобрался :)
3) это пользователи системы. | |
|
|
|
|
|
|
|
для: FaStY
(24.01.2006 в 13:28)
| | 1) Попробуйте так
SELECT news.news, COUNT(comments.id) AS count FROM news LEFT JOIN comments USING(id)
|
| |
|
|
|
|
|
|
|
для: cheops
(24.01.2006 в 13:36)
| | 1)пишет ошибку: Query failed | |
|
|
|
|
|
|
|
для: FaStY
(24.01.2006 в 14:15)
| | Кто пишет, mysql, PHP-скрипт? Нужно больше подробностей. | |
|
|
|
|
|
|
|
для: cheops
(24.01.2006 в 22:50)
| | при выполнения скрипта. А какие подробности? может просто я кину базу и сам файл? там все подробности :)
2) и еще вот вопрос: как мне дописать данные в базу данных? если у меня там уже есть например имя FaStY, как мне дописать туда еще одно имя например cheops?, чтобы было в ячейке FaStY | cheops. И сразу попутный вопрос? как мне потом отсортировать эти записи при запросе на вывод информации из базы? | |
|
|
|
|
|
|
|
для: FaStY
(24.01.2006 в 22:56)
| | >при выполнения скрипта. А какие подробности? может просто я
>кину базу и сам файл? там все подробности :)
Давайте, только прикрепляйте их виде архива, чтобы тема не разрасталась...
>2) и еще вот вопрос: как мне дописать данные в базу данных?
>если у меня там уже есть например имя FaStY, как мне
>дописать туда еще одно имя например cheops?, чтобы было в
>ячейке FaStY | cheops. И сразу попутный вопрос? как мне
>потом отсортировать эти записи при запросе на вывод
>информации из базы?
Т.е. правильно ли я понял - запись идёт в одну ячейку? Тогда можно воспользоваться оператором UPDATE
UPDATE tbl SET name = CONCAT(name,'| cheops') WHERE name = 'FaStY'
|
| |
|
|
|
|
|
|
|
для: cheops
(25.01.2006 в 03:06)
| | да, в одну ячейку. Спасибо большое.
вот прикрепляю файл. | |
|
|
|
|
|
|
|
для: 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
|
| |
|
|
|
|
|
|
|
для: 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 );
|
а это вывод коментариев:
чего не хватает для полного счтастья(ато все равно не работает :()?как оно определят, с какого поля брать кол-во новостей? | |
|
|
|
|
|
|
|
для: 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>";
}
?>
|
| |
|
|
|