![]() |
Вопросы по сайту
Всем привет. ;)
Первый раз увидел этот раздел и был приятно удивлен (даже очень), потому что последние месяца 4 я этим стал заниматься/учить. Я делаю сайт на диплом в техникуме (почти сделал) и есть пару вопросов: вот они |
pasha4ur
давать ссылки с вопросам на другой форум вроде запрещено! |
Ок. Перепечатаем:( пару постов.
Цитата:
P.S. Своё е-мейл скрыл, чтоб спамеры не заваляли письмами Цитата:
|
Цитата:
По таблице - можно пример посмотреть? Просто я мог бы предложить такой вариант, но вдруг не устроит. Там на CSS и без таблицы, хотя немного похоже ~ Vlad Drakula, не ругай мой поганенький сайтец лишний раз))) |
Цитата:
Цитата:
Стили: Код:
#tab:hover { background:#FF6666} Код:
<table align="center" width="350" cellpadding="4" border="0" cellspacing="2" bordercolor="#FFFFFF" > |
Цитата:
А sendmail можно просто поиском по папке найти, если есть там он)) По таблице пока не даю комментариев. Некогда проверять (тем более в IE=( ) Сходу разве только: попробуй в стиле вместо background написать background-color. Вдруг заработает?)) |
Цитата:
|
в состав деневра входит sendmail, сконфигурированный только для тестинга. (Письма не посылаются, а складируются в специальную папку)
|
Да действительно есть такая папка :)
Там были письма Код:
X-Sendmail-Cmdline: sendmail_stub.pl -t -i |
Пример со сменой фона ячейки таблицы на JavaScript
Пример очень старый, сейчас можно спокойно оставить только то, что внутри if, а еще лучше использовать полностью css PHP код:
|
Спасибо попробую.
Цитата:
|
Хотел еще спросить.
Я сделал «типа» гостевую книгу. РНР просто выбирает в таблицу записи из БД, но со временем эта таблица становиться до неприличия длинной. Как можно сделать, чтоб все делилось на страницы 1, 2, 3…. Намекните, только очень сильно :) |
В запросе к базе данных добавляешь ограничение:
"SELECT * FROM `guestbook` ORDER BY `time` DESC LIMIT 0 , 20" Начало расписывать не буду. ORDER BY `time` - сортировка по колонке time DESC - в обратном порядке LIMIT 0, 20 - ограничить выдаваемый результат двадцатью строками, начиная с нулевой. Если по страницам, то вместо 0 пишешь, например, $_GET['page']*20. Соответственно, строка, с которой надо начинать выборку будет определяться как "номер страницы * 20 (записей на страницу)". Второе число после LIMIT прямо так и пишется - 20. Ну, а как генерировать ссылки на страницы, надеюсь, догадаешься. Если нет, то я помогу догадаться. Но лучше - подумай сам))) |
Да надо подумать, как для следующей страницы выборку делать :)
Цитата:
Наверное, что-то такое <a href="1.php?<?php $page?>">2</a> $page_st=$page*2+1; $page_en=$page*2+20; "SELECT * FROM `guestbook` ORDER BY `time` DESC LIMIT '$page_st' , '$page_en'" Что-то Limit не фурычит Warning: odbc_exec(): SQL error: [Microsoft][Драйвер ODBC Microsoft Access] Ошибка синтаксиса в предложении ORDER BY., SQL state 37000 in SQLExecDirect in z:\home\proba.ru\www\html\q.php on line 153 $q=odbc_exec($connect_id, "Select * from book ORDER BY Dat DESC LIMIT 0, 20"); До добавления Лимит фурычило :( |
pasha4ur, что ж ты сразу не сказал, что у тебя какой-то там MS Access? Я-то для MySQL писал)) Странно, конечно, что Access не весь SQL держит.
Цитата:
Цитата:
Цитата:
И, пожалуй, даже и не DESC. А то самое старое сообщение наверху окажется... Цитата:
Ну, всё равно, раз не хочет работать с лимитом. Тогда попробуем сделать выборку на все строки и разобрать их скриптом. Например так (предполагаю, что скрипт называется guestbook.php и передаются параметры вида guestbook.php?page=2): PHP код:
UPD: Ой, какая красивая разноцветная картинка получилась. Гламурненько =^_^= |
Попробую. Я тут еще и в нете интересную гостевую книгу нашел. Вот только форма для отправки сообщений сбоку и когда переносишь её вниз, она перестает работать. Как-нибудь потом и с ней разберусь :)
|
Цитата:
Что получаем. 1 Постоянно выводятся одни и теже записи, независимо от № страницы (ну так по коду и получается) 2 Ссылки не создаются 3 В конце у меня выводятся переменные: num_rows -1 row_start 0 num_pages -0.2 page 1 Пояснение к ошибке: odbc_num_rows() will return the number of rows in an ODBC result. This function will return -1 on error. For INSERT, UPDATE and DELETE statements odbc_num_rows() returns the number of rows affected. For a SELECT clause this can be the number of rows available. Note: Using odbc_num_rows() to determine the number of rows available after a SELECT will return -1 with many drivers. Как давно я английский переводил :). Ну типа эта ф-ция с СЕЛЕКТ со многими драйверами не фурычит :( |
pasha4ur, у тебя нет русской документации к PHP? В описании к функции написано:
"odbc_num_rows() возвращает количество столбцов в ODBC-результате. Эта функция возвращает -1 при ошибке. Для операторов INSERT, UPDATE и DELETE odbc_num_rows() возвращает количество задействованных рядов. Для оператора SELECT это может быть количество доступных рядов. Примечание: использование odbc_num_rows() для определения количества доступных рядов после SELECT возвращает -1 со многими драйверами." Я не понял - MS Аccess какой-то особенный? По сути, эта функция может вернуть всё, что угодно. Может, на MySQL можно?)) А то как-то слишком тяжело... Что там ещё: Цитата:
Цитата:
Цитата:
п.2 и 3 вытекают из п.1 Может быть на phpclub.ru что-нибудь есть. |
Да блин ОДБС. :swoon:
Ох бы я его разработчикам :butcher: ... :) МуСкл просто в технаре не обясняли (нам там вообще ничего не объясняют), а я уже все по диплому сделал . Преподша сказала, что если разгребешь ОДБС, то МуСкл покажется тебе сказкой. Ладно спрошу у еще одного знающего человека ;) |
Цитата:
|
Цитата:
Может у вас данных в таблице не хватает на несколько страниц? Кстати, для страничного вывода избранный Вами путь неоптимален - выбираете Вы ВСЕ данные, а используете лишь малый промежуток, поглядите в сторону LIMIT для SQL запросов Вашей СУБД. Примечание: прошу прощения на счет писанины о LIMIT выше в этом посте - был невнимателен. И еще... Цитата:
|
Цитата:
Цитата:
Цитата:
|
pasha4ur, если она не хочет считать строки одной функцией, можно написать свою. Например, циклом обойти все строки и внести в массив. При этом считать количество итераций. Потом нужные вывести в html, а остальные оставить за кадром. Только ресурсы будут пропадать впустую =(
Цитата:
|
Хотел еще кое-что спросить. Сделал сайт на диплом, пользовался Дримвивером, но получилось так, что он не понятно сохраняется:
1. ФФ нормально сохраняет 2. Опера ХТМЛ+пару рисунков(!) 3. Эксплоуер только ХТМЛ Как это исправить? Вот пример еще одного такого бага: http://pasha4ur.ho.com.ua/ Диплом сдал на 5 :D |
pasha4ur, ничего не знаю, Опера сохраняет все рисунки.
Поздравляю с пятёркой)) Вопрос: это вот ЭТОТ сайт на 5? О_о Или там ещё секретные странички есть? Хотя дизайн ничего так - симпатичный. Похоже, что MS оттуда и свистнула. |
Цитата:
Цитата:
Цитата:
Хочу еще фоновое проигрывание музыки впихнуть, но пока еще не нашел в Нете как. |
Цитата:
Идеальный интерфейс - чёрные буквы на белом фоне (см. lib.ru). Но если так сильно хочется, то можно сделать на флэше. Пусть флэшка размером 1х1 пкс воспроизводит звуки. Я как раз отключаю флэшки, т.ч. мне не страшно. Там ещё backgroundsound какой-то есть и в штатном наборе html, но я не особо помню. |
:)
Просто четыре года отвтыкал на программиста в техникуме (вместе с преподами отвтыкал =) ), а вот в конце немного было по сайтам. Стало интересно и работу такую теперь ищу :) Потом хочу к сайту с диплома админпанель приклепать, чтоб через неё файлы редактировать/закачивать. |
Есть вопрос на счет редактора:
PHP код:
PHP код:
|
Цитата:
Код:
<input type="file" id="direc" alt="Выберите каталог" onChange="$('hid1').value=$('direc').value"><input type="text" value="" id="hid1"> P.S. Может быть будем создавать отдельные темы на каждый вопрос? А то тут уже такой бардак, гугль ногу сломит :(. |
ИМХО тут и есть один вопрос.
Может быть тут что-то найдётся? Там есть по работе с файлами, но через ActiveX. Может быть как-то копируется содержимое строки напрямую? |
Цитата:
Цитата:
Чем твой вариант отличается? Просто Инпут тип=файл передает только название файла, а не весь путь. |
Наврядли забанят... за что? За порядок?
Отличается тем, что я ссылаюсь на объекты оъектной модели документа (DOM) не по именам как Вы (умнип, это не кроссброузерный способ ссылок на объекты принятый у IE), а по их id (запись $('some_element_id') эквивалентна document.geyElementById('some_element_id') потому что последняя - очень громоздкая и создают спецфункцию для укорачивания записи с тем же смыслом - alias в общем, синоним). Кстати, приведенный мной код работает в FF2 и IE6 вставляя все - и путь, и файл, и расширение. Я что-то не так понимаю может быть? |
Попробую. Спасибо.
Правда мало чего понял в твоем объяснении =) . |
Ну, все довольно просто. Скачайте firebug для FF и активировав его поглядите на структуру документа. Напоминает дерево, верно? Это или почти это и есть Document Object Model. В IE есть возможность ссылаться на элементы этой модели по именам (name="someName"), но или только в формах или как-то еще, в общем не универсально т.к. такой способ обращения к узлам дерева элементов не держится в других броузерах. Теперь, если у какого-то узла есть id, то можно получить объект этого узла следубщим образом:
Код:
obj = document.getElementById('someId'); Код:
function $(id) { Вообще, самый лучший способ образования - изучения устройства уже написанного и зарекомендовавшего себя кода. Вышеприведенные FW отличные примеры. |
Prototype только поддерживую!
(а ещё Yui от Yahoo и Scriptaculous для эффектов) |
Есть мнение, что прототайп очень громоздок, если честно, то под влиянием этого метода стал любителем мутулз в чьей реализации работа с классами и прочим в самом деле, имхо, несколько лаконичнее и короче.
|
Вложений: 1
Цитата:
Есть два вопроса: 1. Делаю шаблон сайта с полупрозрачными кнопками в формате ПНГ, но в Ослике (ИЕ 6.0) они не прозрачные, а как-будто белый фон снизу. ИЕ не поддерживает прозрачность? Рисунок прикрепил (только в ИЕ не прозрачные). 2. Для чего нужны теги ДИВ и СПАН? Я их использую только для выравнивания элементов. |
Цитата:
Цитата:
span - сам по себе тэг ничего не делает. Но он служит для назначения стилей или идентификаторов (для JS). Например: <span style="text-color: blue; border: 1px solid black" name="text" id="text">текст</span> <span class="test">текст</span> По идее, в html-коде не должно быть всяких там <b>, <i>, <u> и прочих. Вместо них сейчас правильнее ставить <span> с соответствующим стилем (лучше классом стиля, который в css уже будет описываться). |
Цитата:
Цитата:
|
1) Почему же умерла? Давно есть фиксы.
2) Небольшое уточнение: div и span - элементы так называемой семантической блочной верстки (модное направление призванное замкнуть цели и средства верстки), только div - элемент уровня блока (эти элементы по умолчанию развернуты на 100% по ширине и имеют на конце как бы <br> - перенос "строки" так что любой другой элемент расположен ниже блочного), а span - элемент уровня строки (растягивается в зависимости от ширины внутреннего контента и не имеет переноса строки в конце). Верстать блоками в самом деле несколько сложнее, но не из-за самой сложности понимания верстки блоками а, увы, из рук вон плохой кроссброузерности во многих случаях выходящих за рамки нетривиальных. К примеру сверстать резиновый трехколоночный дизайн таблицей будет просто, а вот дивами - сложнее, причем в некоторых местах будут применяться совсем неочевидные ходы вроде отрицательных значений css правила margin. Однако, имхо, за семантической версткой будущее ибо Кесарю кесарево стало быть таблицам табличное, а из верстки вон. |
Цитата:
А ГИФ прозрачный он тоже не поддерживает. Цитата:
|
Цитата:
|
Всем привет.
У меня такой вопрос: можно ли загрузить картинку в отдельный фрейм, который при переходах по сайту не изменяется, чтобы она была доступна другому фрейму без дополнительной загрузки?То есть чтобы картинка все время хранилась в первом фрейме и страницы во втором фрейме не подгружали ее заново каждый раз при переходах по сайту, а просто брали из первого фрейма. Как можно такое осуществить? |
В Вашем случае ответ заключен в вопросе на 100%, осталось лишь реализовать решение в коде.
|
Я просто не знаю, в каких случаях картинка повторно будет загружаться, а в каких- нет. Например, если я вставлю в левый фрейм
<img name="leftimg" src="pic.gif" style="position: absolute; top: 10px; left: 10px; visibility: hidden;"> А затем из другого фрейма сошлюсь на нее: <img name="rightimg" src=""> <script language="JavaScript"> document.rightimg.src=parent.leftframe.leftimg.src; </script> Будет ли в этом случае картинка подгружаться каждый раз при изменении второго фрейма, если во всех страничках, которые могут быть во втором фрейме, прописать такой скрипт? |
Цитата:
Она загрузится в кэш из левого фрейма, а в правом просто поставить <img src="pic.gif" />. Тут уже из кэша будет браться. Хотя не факт, что браузер загрузит картинку, у которой указан стиль visibility:hidden (типа "Зачем тратить трафик, если всё равно эту картинку никто не увидит?"). |
Спасибо! В принципе, ее не обязательно указывать hidden, это я просто так написал, так что все отлично!
Кстати, а где можно почитать вообще про порядок, условия и т.д. загрузки в кэш, а то я в этом вопросе пока не сильно шарю? |
nemecfc, да я так скажу: есть браузер. Он работает. А уж как он работает - одни разработчики знают. И ничего с этим не поделать. Но вообще - загрузил картинку из сети, внёс в кэш. Прошло некоторое время - либо удаляет из кэша, либо обновляет.
Со страничками немного иначе, но сейчас это не важно)) |
Хорошо, так тогда, получается, можно не загружать картинку в отдельный не изменяющийся фрейм, она ведь и так внесется в кеш, если будет даже в правом меняющемся фрейме?
Еще у меня тут такая проблема. Мне нужно, чтобы ячейка таблицы имела фиксированную высоту вне зависимости от контента, что в ней. Пишу: ... <style> table {table-layout: fixed;} </style> ... <table> <tr> <td height=100> ...Содержимое ячейки... </td> </tr> </table> ... В IE7(и, думаю, в IE6 тоже) работает, ячейки фиксированной высоты вне зависимости от контента, а вот Mozilla Firefox и Opera все равно выставляют высоту ячейки так, чтобы влезло все содержимое. Вот не знаю, что с этим делать. Буду очень благодарен, если кто подскажет, как решить эту проблему. |
Цитата:
Другое дело, если хочется, чтоб она (картинка) в момент загрузки новой страницы уже была доступна. Тогда надо её закэшировать заранее (например, если меняющаяся кнопка - не будут же ждать, когда загрузится её второе состояние). Если же скорость реакции не критична - можно и вовсе не заморачиваться с фреймами)) Насчёт таблицы - очевидного решения я не знаю, но можно попробовать в ячейку таблицы помещать textarea с фиксированным размером, применить к ней стиль, чтобы она была похожа на "как будто её и нет", и JavaScript к ней небольшой: onFocus(this.blur); или как там оно пишется-то... Чтобы не выдавало себя)) |
Спасибо еще раз. Тогда не буду заморачиваться с фреймами.
Насчет высоты ячейки не совсем понял, что вы имеете ввиду, однако кое-что нашел. Можно задавать дополнительно в ячейке еще <div style="max-height: высота;">, при этом следующий элемент отбражается, как будто div имеет такую высоту, однако его содержимое наползает на следующие элементы. Не знаете, можно ли задать, чтобы объект отображался над предыдущим без абсолютного позиционирования? И еще хотел спросить: если при нажатии на кнопку используется свойство .innerHTML с огромным внутренним HTML кодом, то страница при нажатии на кнопку изменится сразу, или будет некоторое время грузится? |
Время: 09:03. |
Время: 09:03.
© OSzone.net 2001-