Придумал,как это примерно должно работать. А это брать из базы выводить последние строки,где естественно последние иды сообщений. В базе у этих сообщений есть естественно номер темы,в которой сделано это сообщение. Ну и вот,сделал вывод последних для начала трёх хаписей из базы с сообщениями. Потом в массиве начинаю делать запрос к базе о том,какие нужно вытаскивать иды тем. Вывожу в этом-же массиве то что вытащил из базы. Вроде работает,но вот нужно сделать так,чтобы из массива(то что из базы вытащил) фильтровалось по принципу "если есть в массиве запись с таким-же содержимым,то выводить только один из них". То есть,на другом примере: выводим из базы что-то со значениями 1 2 3 3 4 5 4 9 4 1. Нужно чтобы не все числа вывеслись,в том-же порядке,что и в базе,а вывелось что-то подобного вида: 1 2 3 4 5 9. То есть без повторных числах. Надеюсь,кто-то понял мой вопрос.
Если что,сам код того,что сейчас имею:
$posl = mysql_query("SELECT * FROM for_soob ORDER BY id DESC LIMIT 3");
while($ps = mysql_fetch_array($posl))
{
$pps = $ps['t'];
$poslt = mysql_fetch_array(mysql_query("SELECT * FROM for_tem WHERE id = '".$pps."' ORDER BY id DESC"));
$poslt = $poslt['naz'];
$kso = $ps['t'];
echo '<br/>Последняя тема: <a href="t.php?id='.$pps.'">'.$poslt.'</a>';}
}
Спустя 1 час, 53 минуты, 28 секунд (23.04.2010 - 22:35) Bezdna написал(а):
SELECT DISTINCT ?
Спустя 7 часов, 13 минут, 13 секунд (24.04.2010 - 05:48) OTSHELNIK написал(а):
как я понял,запрос должен быть примерно таковым?
SELECT DISTINCT * FROM for_tem WHERE id = '".$pps."' ORDER BY id DESC
Спустя 20 минут, 4 секунды (24.04.2010 - 06:08) OTSHELNIK написал(а):
но пытаюсь написать так как я предположил-не работает. ищу в интернете информацию о том,как правильно составить запрос-но найти ничего толкового не могу. объясните пожалуйста.
Спустя 51 минута, 37 секунд (24.04.2010 - 06:59) andrey написал(а):
Есть функция для удаления из массива повторяющихся значений: array_unique.
Как-то так:
Попробуй, может поможет...
Как-то так:
$massiv = array_unique($massiv);
Попробуй, может поможет...
Спустя 8 минут, 17 секунд (24.04.2010 - 07:08) OTSHELNIK написал(а):
Вставил в цикле для жтих двух массивов. Вот что денвер сообщает:
Warning: array_unique() [function.array-unique]: The argument should be an array in Z:\home\sub-test.ru\www\forum\index.php on line 50
Warning: array_unique() [function.array-unique]: The argument should be an array in Z:\home\sub-test.ru\www\forum\index.php on line 55
Последние темы:
Warning: array_unique() [function.array-unique]: The argument should be an array in Z:\home\sub-test.ru\www\forum\index.php on line 50
Warning: array_unique() [function.array-unique]: The argument should be an array in Z:\home\sub-test.ru\www\forum\index.php on line 55
Последние темы:
Warning: array_unique() [function.array-unique]: The argument should be an array in Z:\home\sub-test.ru\www\forum\index.php on line 50
Warning: array_unique() [function.array-unique]: The argument should be an array in Z:\home\sub-test.ru\www\forum\index.php on line 55
Последние темы:
а строчка 50 это $pps = array_unique($pps); ,а 55 это $kso = array_unique($kso);
Warning: array_unique() [function.array-unique]: The argument should be an array in Z:\home\sub-test.ru\www\forum\index.php on line 50
Warning: array_unique() [function.array-unique]: The argument should be an array in Z:\home\sub-test.ru\www\forum\index.php on line 55
Последние темы:
Warning: array_unique() [function.array-unique]: The argument should be an array in Z:\home\sub-test.ru\www\forum\index.php on line 50
Warning: array_unique() [function.array-unique]: The argument should be an array in Z:\home\sub-test.ru\www\forum\index.php on line 55
Последние темы:
Warning: array_unique() [function.array-unique]: The argument should be an array in Z:\home\sub-test.ru\www\forum\index.php on line 50
Warning: array_unique() [function.array-unique]: The argument should be an array in Z:\home\sub-test.ru\www\forum\index.php on line 55
Последние темы:
а строчка 50 это $pps = array_unique($pps); ,а 55 это $kso = array_unique($kso);
Спустя 4 минуты (24.04.2010 - 07:12) andrey написал(а):
The argument should be an array - значит аргумент должен быть массивом. Ты выполняешь функцию над отдельным элементом массива, а надо над всем массивом, где хранится список номеров.
Спустя 26 минут, 15 секунд (24.04.2010 - 07:38) andrey написал(а):
Кстати твой запрос:
у меня тоже почему-то не работает. Попробуй вместо звёздочки указать значение нужных полей через запятую. Так должно заработать.
SELECT DISTINCT * FROM for_tem WHERE id = '".$pps."' ORDER BY id DESC
у меня тоже почему-то не работает. Попробуй вместо звёздочки указать значение нужных полей через запятую. Так должно заработать.
Спустя 2 минуты, 57 секунд (24.04.2010 - 07:41) maxims написал(а):
ИМХО проше sql-запрос составить, который будет выдавать N-ое количество активных тем.
Спустя 7 минут, 2 секунды (24.04.2010 - 07:48) OTSHELNIK написал(а):
andrey, о,спасибо! без звездочки всё работает! а обработкой массива всё так и не разобрался,да и ладно,пока не нужно. ведь практически всё на базе у меня
Спустя 1 минута, 20 секунд (24.04.2010 - 07:49) maxims написал(а):
может так.
SELECT * FROM for_tem WHERE id IN ( SELECT DISTINCT t FROM for_soob ORDER BY id DESC LIMIT 3) ORDER BY id DESC
Спустя 4 минуты, 24 секунды (24.04.2010 - 07:54) OTSHELNIK написал(а):
решил не плодить тысячу тем,так что спрошу здесь. как на форуме лучше организовать закрытие темы? как я предполагаю,закрытие можно сделать,если в табличку с темами(где ид,название темы и т.п.) добавить столбец со значением.. допустим цифровым. допустим одно значение это есть поле ввода сообщения,а второе нет поля ввода сообщения. так проканает или есть еще тонкости?
Спустя 1 час, 15 минут, 53 секунды (24.04.2010 - 09:10) OTSHELNIK написал(а):
и еще,не хочет работать запрос в базу:
сделал вывод ошибки,мне пишет Unknown column '$gor' in 'field list'. Как я понял жалуется на неизвестную колонку в списке полей и переменной gor. А в базе,поле gor равно varchar(20). в чем может быть ошибка и из-за чего может не обновляться в базе?
если что: переменные идут с другой страницы методом пост. я обрабатываю то что получил и ради теста попробывал вывести все переменные-всё правильно выводит,то что вводилось с формы на предыдущей странице.
$result = mysql_query('UPDATE `user` SET gor = `$gor` , icq = `$icq` , url = `$url` , osebe = `$osebe` WHERE `id` = '.$_SESSION['id_user']);
if($result == 'true') {echo 'Ваш профиль успешно изменён!';}
else{echo 'Произошла ошибка! '.mysql_error();}
сделал вывод ошибки,мне пишет Unknown column '$gor' in 'field list'. Как я понял жалуется на неизвестную колонку в списке полей и переменной gor. А в базе,поле gor равно varchar(20). в чем может быть ошибка и из-за чего может не обновляться в базе?
если что: переменные идут с другой страницы методом пост. я обрабатываю то что получил и ради теста попробывал вывести все переменные-всё правильно выводит,то что вводилось с формы на предыдущей странице.
Спустя 9 минут, 23 секунды (24.04.2010 - 09:19) andrey написал(а):
Поменяй фрагмент на вот такую запись
UPDATE `user` SET `gor` = '.$gor.'
Ну и так далее... Вроде так
UPDATE `user` SET `gor` = '.$gor.'
Ну и так далее... Вроде так
Спустя 15 минут, 45 секунд (24.04.2010 - 09:35) OTSHELNIK написал(а):
andrey, всмысле пременную оградить точками?
Спустя 2 минуты, 52 секунды (24.04.2010 - 09:38) andrey написал(а):
Ну да. И насчёт кавычек тоже проверь
Спустя 9 часов, 22 минуты, 56 секунд (24.04.2010 - 19:01) OTSHELNIK написал(а):
andrey, пишет ту же ошибку. не помогает.
Спустя 11 часов, 19 минут, 48 секунд (25.04.2010 - 06:20) andrey написал(а):
Имя полей и таблиц надо обрамлять вот в такие кавычки: `` - которые слева от клавиши 1, а имя переменных в обычные ' '. У тебя так сделано?
Спустя 1 день, 13 часов, 22 минуты, 10 секунд (26.04.2010 - 19:43) OTSHELNIK написал(а):
andrey, да,спасибо,понял ошибки! но хотелось-бы получить ответ на вопрос ранее:
решил не плодить тысячу тем,так что спрошу здесь. как на форуме лучше организовать закрытие темы? как я предполагаю,закрытие можно сделать,если в табличку с темами(где ид,название темы и т.п.) добавить столбец со значением.. допустим цифровым. допустим одно значение это есть поле ввода сообщения,а второе нет поля ввода сообщения. так проканает или есть еще тонкости?
решил не плодить тысячу тем,так что спрошу здесь. как на форуме лучше организовать закрытие темы? как я предполагаю,закрытие можно сделать,если в табличку с темами(где ид,название темы и т.п.) добавить столбец со значением.. допустим цифровым. допустим одно значение это есть поле ввода сообщения,а второе нет поля ввода сообщения. так проканает или есть еще тонкости?
Спустя 9 часов, 28 минут, 33 секунды (27.04.2010 - 05:11) andrey написал(а):
Ну а ето уже не ко мне
Спустя 1 час, 6 минут, 43 секунды (27.04.2010 - 06:18) OTSHELNIK написал(а):
andrey, ну,ты же не единственный юзер на форуме...) так что думаю кто-нибудь и ответит)
Спустя 5 дней, 21 час, 38 минут, 1 секунда (3.05.2010 - 03:56) OTSHELNIK написал(а):
актуальный вопрос.
Спустя 3 дня, 16 часов, 2 минуты, 14 секунд (6.05.2010 - 19:58) OTSHELNIK написал(а):
возник уже другой вопрос: а как мне вывести дату последнего поста в данном форуме? почти как на этом форуме на главной,колонка "Обновления". я не могу понять какие запросы сначала нужно делать и какие потом. очень надеюсь на вашу помощь.