|
|
|
|
|
для: cheops
(27.01.2012 в 14:03)
| | Короче, весело получилось. Написал код заново.
$my_news = mysql_query("SELECT * FROM my_news WHERE login='' or login='$_SESSION[login]'",$db);
$kol = mysql_num_rows($my_news);
echo "Всего $kol новостей<br>";
// Выводим новости в цикле
while ($myrow = mysql_fetch_array($my_news))
{
if ($myrow['login']=='') {
echo "Новость разработчиков :)<br>";
}
if ($myrow['id_photo']>'0') {
echo "Коммент к фото<br>";
}
}
|
Выводится как надо. Спасибо.
Но есть еще один вопрос. У меня будет в БД поле, где будут храниться id -пользователей, которые должны увидеть конкретную новость.
Например новость у которой id = 53 должны увидеть несколько пользователей с id = 4, id = 5 и т.д.
Думаю хранить это в таком виде (4~5~6). Но возник вопрос.
Допустим $_SESSION[id]=4, как мне понять показывать ему новость или нет? Я просто ни логику запроса понять не могу, ни как это сделать! Подскажите плиз :) | |
|
|
|
|
|
|
|
для: cheops
(28.01.2012 в 14:41)
| | так мне нужно вывести в 1 цикле, новости, где есть логин и где его нет. А автор особого значения не имеет. За счет автора, я буду менять вид отображения! | |
|
|
|
|
|
|
|
для: kapitalist
(28.01.2012 в 14:23)
| | Тогда нужно на этапе подготовки запроса сделать так, что если id_author - пустой, это в условие не попадает, если он отличен от нуля, добавить условие id_author = значение, аналогично следует поступить с login. | |
|
|
|
|
|
|
|
для: cheops
(27.01.2012 в 17:28)
| | login (в бд) - это пользователь, который должен увидеть новость. если логин (в бд) пустой, значит видят все пользователи.
id_author - это автор новости, т.е. можно сказать это он ее создал. Если id_author = 0, значит скрипт должен вывести, что автор этой новости, разработчики сайта. | |
|
|
|
|
|
|
|
для: kapitalist
(27.01.2012 в 14:36)
| | >Давайте. Например, у меня пользователь с id = 1
Правильно ли я понимаю, что это означает id_author = 1? Может одно из условий так и задать, а не ориентироваться на логин? Или поле id_author в таблице my_news означает что-то другое? | |
|
|
|
|
|
|
|
для: cheops
(27.01.2012 в 14:03)
| | Давайте. Например, у меня пользователь с id = 1
Мне выводится
Оставил комментарий к твоей фотографии
Новость от разработчиков
Оставил комментарий к твоей фотографии
Новость от разработчиков
Оставил комментарий к твоей фотографии
Новость от разработчиков
Хотя должно выводится 4 раза "Оставил комментарий к твоей фотографии", и 1 раз "Новость от разработчиков" | |
|
|
|
|
|
|
|
для: kapitalist
(27.01.2012 в 13:51)
| | Ну помоему все работает как надо: выводятся записи, для которых поле login пусто и записи, которые соответствуют выбранному логину. Может на примере разберем ситуацию? Давайте возьмем какого-то пользователя, что для него должно выводиться? | |
|
|
|
|
|
|
|
для: cheops
(27.01.2012 в 13:23)
| | Но тогда еще нужно вот это в коде дописать
$myrow = mysql_fetch_array($my_news);
$author = $myrow['id_author'];
$photo = $myrow['id_photo'];
|
| |
|
|
|
|
|
|
|
для: cheops
(27.01.2012 в 13:23)
| | Не вопрос:
--
-- Table structure for table `my_news`
--
CREATE TABLE IF NOT EXISTS `my_news` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`login` varchar(255) NOT NULL,
`id_author` int(11) NOT NULL,
`id_photo` int(11) NOT NULL,
`status` int(11) NOT NULL,
`date` varchar(40) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=12 ;
--
-- Dumping data for table `my_news`
--
INSERT INTO `my_news` (`id`, `login`, `id_author`, `id_photo`, `status`, `date`) VALUES
(1, 'kapitalist', 2, 219, 1, ''),
(2, 'kapitalist', 1, 219, 1, '21.12.2011'),
(3, 'Pcholka', 1, 208, 0, '21.12.2011'),
(4, 'Pcholka', 1, 208, 0, '21.12.2011'),
(5, 'vovka', 1, 196, 0, '21.12.2011'),
(6, 'kapitalist', 1, 224, 1, '21.12.2011'),
(7, 'kapitalist', 1, 222, 1, '21.12.2011'),
(10, '', 0, 0, 0, '27.01.2012'),
(11, '', 0, 0, 0, '');
|
| |
|
|
|
|
|
|
|
для: kapitalist
(27.01.2012 в 12:36)
| | А нельзя приложить дамп таблицы my_news, чтобы можно было воспроизвести ситуацию? | |
|
|
| |
|