Jump to content

Vladiger

User
  • Posts

    121
  • Joined

  • Last visited

Everything posted by Vladiger

  1. Имеется таблица с сообщениями посетителей. id | user_id | text | date 1 1 .... xxxx99 2 2 .... xxxx98 3 3 .... xxxx97 4 1 .... xxxx96 5 3 .... xxxx95 6 4 .... xxxx94 7 5 .... xxxx93 8 2 .... xxxx92 9 1 .... xxxx91 10 6 .... xxxx90 ........... ........... ........... id = это понятно, просто счетчик. user_id = идентификаторы пользователей, должны участвовать в запросе в качестве фильтра text = не важное поле. data = дата последнего сообщения Как видно в таблице имеются одинаковые авторы сообщений пользователь с id=1 оставил 3 сообщения пользователь с id=2 оставил 2 сообщения пользователь с id=3 оставил 2 сообщения остальные пользоваетли оставили по одному сообщению Нужно выделить последние (или первые, опционально ASC или DESC) 10 строк исключая повторяющиеся user_id в таком виде: Выделить строки с id= 1, 2, 3, 6, 7, 10 и.т.д То есть от каждого пользователя, только одно сообщение (последнее или первое ASC или DESC) но в той последовательности в которой они были оставлены. Строки с повторяющимися значениями user_id игнорировать. Пробовал так: SELECT * FROM table GROUP BY user_id ORDER BY date DESC LIMIT 10 Результат не тот. Сгрупированные user_id не выделяются в запросе, только уникальные. Читал про DISTINCT, но так и не понял как его применить в данной ситуации. Подскажите что я не так делаю?
  2. А можно еще на UCOZ.RU потренироваться... Там и 24 часа не понадобятся, вполне хватит 10-15 минут...
  3. Зачем косые черточки в имени файла? Потому и не отображается... <link rel="icon" href="favicon.ico" type="image/x-icon" /> <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />И всего делов то...
  4. rus - Я вот представил на мгновение себя в качестве чайника-ламера, хотите поглумиться? Ну продолжайте, я стерплю... А вот как чайнику-ламеру мне вообще нихрена непонятно, что вы там за циферки понаписали, а глвное куда их ффтыкать? Запускаем Windows Commander (или Total Commander без разницы). Создаем соединение FTP CTRL+F затем ALT+N, вписываем в поля данные вашего FTP сервера. Session: - Любое название соединения (просто имя) Host name[:Port]: - Адресс и порт FTP сервера, например ftp.jino-net.ru (в большинстве случаев номер порта указывать не обязательно) User name: - Ваш логин. Password - Пароль доступа к FTP... Жмем OK! [*]Устанавливаем FTP соединение с сервером ALT+C (Connect) [*]Находим нужный каталог или файл, атрибуты которого требуется изменить (можно выделить группу файлов или каталогов правой клавишей мыши, окрашивая выделенное красным цветом) [*]Нажимаем в меню Windows Commander: - Files > Change Attributes... [*]Устанавливаем галочки выставляя атрибуты прав доступа к файлу или каталогу (отметив все галочки, права доступа будут CHMOD 777, для установки CHMOD 755 отметить все галочки кроме Write в колонках Group и World (Other)) [*]Жмем OK. ЗЫ Я в курсе что такие вещи можно запросто найти в гугле, вот только почему бы это не прикрутить куда нибудь в FAQ на этом сайте или так и будем друг друга посылать "поискать", а так же "вот тебе иголка, нитку сам найдешь и додумаешь что с ней делать"?
  5. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title>Макет</title> </head> <body> <table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td height="120" bgcolor="#B9C3CE" align="center"><h1>HEADER</h1></td> </tr> <tr> <td align="center"><h1>CONTENT</h1></td> </tr> <tr> <td height="50" bgcolor="#B9C3CE" align="center"><h1>FOOTER</h1></td> </tr> </table> </body> </html>
  6. После спортивного аэроплана, за штурвалом аэробуса гражданской авиации тоже не привычно... Так и будете летать на метле? Привыкайте...
  7. SELECT COUNT(views) AS views FROM topics WHERE forumid=1
  8. Что бы обезопасить сервер от злоумышленника, откажитесь сразу от бредовой идеи. Не нужно делать никаких "лишних" проверок на корректность адреса, че-то там еще (толком не понял). Сразу стройте грамотный алгоритм вашего скрипта, что бы его не пришлось "лечить" в будущем... Ни под каким предлогом, не позволяйте пользователю инклудить какой либо файл. Храните список ваших файлов где угодно в системе, можете в массиве, можете в БД, а можете просто читать содержимое каталога где нажодятся эти файлы... Но вот что бы пользователь писал в адрессной строке что-то типа: http://www.mydoman.ru/index.php?file=function.php а потом в скрипте файл function.php просто инклудился: - Это зло и оно когда нибудь вас погубит.
  9. Я же говорю, лицемер он и в Африке лицемер. То есть с теми людьми которые думают не (*ладно, вырезал*), обходятся совсем по другому, как раз в противовес вашей просьбе Maslakoff. Отсюда следует вывод: - Цензура и манера общения, зависит от приоритетов пользователей на сайте. Иными словами "Гадюшник"...
  10. Вы прочитали сообщение выше с конца, а Вы прочитайте сначала. Я же вам красным шрифтом ошибку указал, почему именно появляется белая полоска между ячейками. Как центрировать таблицу, это получается уже второй вопрос. Давайте сразу вопросов 10 задавайте, что бы одним махом на все ответить.
  11. Ошибка в первой строке кода HTML Два раза указан параметр cellpadding и ни одного раза cellspacing, который нужно установить в 0. И вообще, попробуй оптимизировать HTML код вместе с CSS, очень много лишнего понаписано, к примеру в теге параметры cellpadding и cellspacing вообще ни к чему и ниачем.Ну примерно так: HTML <table class="main-center" cellspacing="0"> <tr> <td class="main-center1">Текст</td> <td class="main-center2"> </td> </tr> </table> CSS * {margin: 0; padding: 0;} body { background: url(images/bg-big.jpg) no-repeat top center; font-family: Tahoma, Verdana, Arial, sans-serif; font-size: 13px; color: #000; } .main-center { width: 733px; height: 156px; background: url(images/back_manu.jpg); border: 0; } .main-center1 { width: 525px; background: #397AB6 url(images/right_text1.jpg); font-family: Verdana,Tahoma,Arial,Sans-Serif; font-size: 12px; } .main-center2 { background: #397AB6 url(images/right_text2.jpg); font-family:Verdana,Tahoma,Arial,Sans-Serif; font-size:12px; }
  12. Ну вот так можно: <style type="text/css"> .content-1 img {border: 1px solid black; margin: 0px} .content-2 img {border: 5px solid blue; margin: 5px} .content-3 img {border: 15px solid red; margin: 15px} </style> <div class="content-1"><img src="http://htmlbook.ru/images/title.gif" /></div> <div class="content-2"><img src="http://htmlbook.ru/images/title.gif" /></div> <div class="content-3"><img src="http://htmlbook.ru/images/title.gif" /></div> Можно сколько угодно параметров добавлять, ведь картинки у тебя все равно находятся в каких то контейнерах или , а эти контейнеры имеют свои классы или входят в в другие контейнеры... Вот и описывай полный путь к конкретному тегу img в стилях...
  13. В базе конечно. Ну дык а какого хера ты эти данные в базу пишешь, если на сайте эти данные нигде не фигурируют. Если ты юзаешь сессии и тебе хватает ника и пароля для авторизации, тогда нафига эти поля при регистрации? 1) Показывать ваш e-mail адрес. 2) Скрыть ваш e-mail адрес, но разрешить слать вам сообщения через форум. 3) Скрыть ваш e-mail адрес и запретить слать вам сообщения через форум. 4) Запомнить имя пользователя и пароль между визитами. А не проще ли, распознав пользователя по правильному нику и паролю, сразу-же вытянуть эти данные из базы и загнать их в какой нить массив (например $member)... Вот и будешь потом брать эти значения в любом из последующих скриптов. К примеру все данные о пользователе можешь писать в виде $member['id] = Номер пользователя $member['name'] = Имя пользователя $member['pass'] = Пароль пользователя $member['email'] = E-mail пользователя А если пользователь гость, значит $member['id] будет равен 0. Вариантов куча, можешь еще и права доступа расписать для разных групп пользователей, а в скриптах делать простые проверки if ($member['id']) { print "Не нужно заполнять форму, потому что это почетный посетитель с именем {$member['name']}, а мыло у него {$member['email']}"; } else { print "Э-э-э браток, да ты Гость аднака. Давай-ка пиши свое мыло, а я его проверю и вышлю тебе пару вирусов троянов."; }
  14. Значит нужно прочитать все данные о пользователе исходя из сессии. Где у тебя вообще хранится вся инфа? Пароль, E-mail, Ник, всяки там ICQ, YIM, MSN и прочая лабуда... Тем самым сразу идентифицировать посетителя как Гостя или Зарегистрированного пользователя, соответственно и расставлять для них привелегии и приоритеты. Для гостей заполнение формы (вплоть до капчи, для защиты от ботов), для зарегенных пользователей никакой формы заполнять не нужно, только текст сообщения, все остальное о пользователе у тебя есть...
  15. Это уже второй раз спрашивается подобная задача. И так же второй раз примитивная ее реализация. Я только понять не могу, а нафига? Только ради того что бы в теге не было прямой ссылки и все? <?php $links = array( 'http://Адрес 1/', 'http://Адрес 2/', 'http://Адрес 3/', 'http://Адрес 4/' ); if (isset($_GET['id']) AND isset($links[$_GET['id']-1])) { header("Location: ".$links[$_GET['id']-1]); exit(); } print "<a href="{$_SERVER['PHP_SELF']}?id=1">{$links[0]}</a> "; print "<a href="{$_SERVER['PHP_SELF']}?id=2">{$links[1]}</a> "; print "<a href="{$_SERVER['PHP_SELF']}?id=3">{$links[2]}</a> "; print "<a href="{$_SERVER['PHP_SELF']}?id=4">{$links[3]}</a>"; ?>
  16. $search = $replace = array(); $result = mysql_query("SELECT search, replace FROM table"); //Запрос к таблице с патернами поиска и замены текста //Извлекаем все выделенные значения БД в массивы поиска и замены. while($row = mysql_fetch_array($result)) { $search[] = $row['search']; $replace[] = $row['replace']; } $_POST['message'] = str_replace($search, $replace, $_POST['message']); // Заменяем текст в сообщении отправленом из формы Примерно так. Детали додумай сам.
  17. Это точно твоя CMS-ка, судя по тому что там написано Powered by vvsh Вообще-то сложилось мнение, что это очень хитро перелопаченный код PHP-Fusion.
  18. Не указывайте мне что делать и я не скажу вам куда идти. Ну тада не страшно!!!
  19. Это ты к чему сейчас написал? Хочешь показать насколько ты крут? Дык не утруждайся, слава Богу мой жизненный опыт вполне позволяет иметь собственное мнение, которое имеет право существовать. А насчет "пасть порву", как то несовсем корректно. Хотелось бы посмотреть на свою порванную пасть, а особенно интересно как ты сделаешь это удаленно. Ты вообще представляешь меня, может быть я тебя в 4 раза шире и в 8 раз тяжелее. Или ты из тех кто прячется за интернетом?
  20. Все верно. Первый индекс (ключ) первого элемента массива равен нулю, стало быть и ссылку на него нужно писать http://www.new-traffic.ru/urlg.php?id=0 Что бы этого избежать можно поступить например так: изменения в одной строчке кода представленного Pavel_html link::$id = intval($_GET['id'])-1; Но в общем, я не вижу надобности юзать классы, для такой пустяковой задачи. Данное решение будет работоспособно только в том случае, если версия PHP на вашем хостинге не ниже 5-ой, а это не есть GOOD! Хотя впринципе дело ваше, эту задачу вообще в двух строчках можно решить (без классов). <?php $link = array('http://yandex.ru', 'http://absolvo.ru', 'http://google.com', 'http://clubunnatov.spb.ru'); if (isset($_GET['id']) AND is_numeric($_GET['id']) AND isset($link[$_GET['id'] -1])) { header("Location: ".$link[$_GET['id'] -1]); exit(); } ?> Ну пусть не в 2-ух строчках а в 4-ех, хотя впринципе это фсе фигня!!!
  21. 10 раз написано, все уже давно работает и тем не менее человек продолжает спрашивать и утверждать что у него почему-то не работает... Тут уж ХЗ в голову всякие мысли лезут, чего же ему нужно на самом деле. Rebux - Дохтайп - эт фихня такая в самом начале документа всегда пишется ХЗ зачем... Без этой фигни в ИЕ однозначно работать не будет, в Опере или в Лисе не знаю (мож и будет). <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1251" /> <script type="text/javascript"> var myImages = new Array( "Сat (1).gif", "Сat (2).gif", "Сat (3).gif", "Сat (4).gif", "Сat (5).gif", "Сat (6).gif"); </script> </head> <body> <script type="text/javascript"> document.write("<img src="" + myImages[Math.floor(Math.random() * myImages.length)] + "" style="background: url(http://ipicture.ru/uploads/080621/Ofr2W77EEJ.jpg); padding:32px 60px 80px 53px" alt="" border="0" />"); </script> </body> </html>
  22. Если GIF размером 100x100 имеет к примеру белую основу, вы вообще как ее собрались накладывать? homm - Вы хоть представляете что из этого получится? При чем тут padding. Ну наложили вы белый квадратик на фон размером 500x500 точек и что? Что это за изврат, белый квадратик 100x100 посредине к примеру черного фона. Ясен пень что GIF-ка закроет видимую область своим размером оставив лишь отступы с фоновым изображением. Вам такое решение нужно? Так оно уже выше написано. Rebux - Доктайп пропиши и ВУАЛЯ КАРТИНКА НА КАРТИНКЕ!!!
  23. Если у GIF не прозрачная основа, как вы вообще ее собрались накладывать? Попробуйте для начала сделать это в фотошопе, что неполучилось? А у скрипта думаете получится? А вот я думаю что получится, если этот скрипт написан на C++ или Делфи и является каким нить плагином к фотошопу. Вы хотите что бы мы написали этот плагин на жаваскрипте?
  24. Я надеюсь у тебя GIF которая накладывается на фон имеет прозрачную основу? Иначе все твои потуги тщетны...
  25. А это как? Ты будешь сжимать окно браузера, вместе с этим должно сжиматься по высоте меню? Чето ИМХО извращение какое-то. По горизонтали - это понятно, а по вертикали то зачем?
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy