-
Posts
978 -
Joined
-
Last visited
-
Days Won
3
Content Type
Profiles
Forums
Calendar
Store
Everything posted by stars
-
В первые вижу чтобы цена доставки зависела от категорий. Цена на моей практике зависит от места доставки скажем: 1) Москва в пределах МКАД (200 рублей) 2) Москва и МО за пределами мкад до 80 км (например 200 рублей до 20 км, далее каждый км по 20 рублей) 3) Другие города. (либо лимитированный прайс по городам либо просто выводится информация, что цена согласовывается с мэнаджером) Далее на доставку может влиять вес: 1) до 3 кг бесплатно 2) от 3 до 10 +100 рублей 3) свыше 10 гк +300 рублей Возможно габариты, чтобы не парится возьмем водоизмещение: 1) до 10 литров бесплатно 2) от 10 до 50 литров +50 рублей 3) свыше 50 литров +100 рублей Конечно могут быть различные опции типа наличие грузового лифта и цены за поднятие на этаж(может вы холодильниками торгуете). Цена на доставку рассчитывается так... Скажем везем мы в подмосковье 15км от мкад(яндекс карты помогают определить расстояние) 60 бак весом 8кг, следовательно доставка складывается из доставки по москве + подмосковью считаем: 200 рублей(по москве) + 100 рублей(вес от 3 до 10) +100 рублей(свыше 50 литров) + 200 рублей (за Мкад до 20 км) = 600 рублей... Если доставка в другой город, то там доставляют транспортные компании и прайс там отдельный... Таким образом у нас простая таблица 0) id 1) price 2) description 3) group где id = порядковый номер, price - цена, desctiption - какое-то пояснение(удобно для вывода на странице условий магазина), group - группы на которые я расделил...
-
В чем проблема написать? Не так уж и много вариантов на мой взгляд... <input name="str" type="checkbox" <?php if(isset($_GET['str'])) { echo 'checked="checked"'; } ?> value="1" /> <input name="str" type="radio" <?php if(isset($_GET['str']) && $_GET['str']==1) { echo 'checked="checked"'; } ?> value="1" /> <input name="str" type="radio" <?php if(isset($_GET['str']) && $_GET['str']==2) { echo 'checked="checked"'; } ?> value="2" /> <input name="str[]" type="checkbox" <?php if(isset($_GET['str']]) && in_array (1, $_GET['str']])) { echo 'checked="checked"'; } ?> value="1" /> <input name="str[]" type="checkbox" <?php if(isset($_GET['str']]) && in_array (2, $_GET['str']])) { echo 'checked="checked"'; } ?> value="2" /> Функцию для проверки сделать не сложно...
-
Для гостевой книги может быть и не принципиально где хранить комментарии, однако я бы советовал использовать базы данных, ибо понадобится вам сделать выборку или будет у вас 20-40 мегобайт комментариев и у вас сразу возникнут трудности с быстро действием, при хранение коментов в файле. Еще есть один подводный камень, это как именно хранить коменты в файле... (Я лично в файлах храню только массивы настроек и кэш) Касательно запретить просмотр пользователю, используйте htaccess + htpasswd нечто вроде: <Files cp.php> AuthType Basic AuthName "Control Panel" AuthUserFile /home/stars/mysiteru/html/.htpasswd Require valid-user </Files> в интернете есть генераторы данных файлов, воспользуйтесь поисковиком...
-
А зачем 2? Надо понимать, что если это огромный проект с большущей тучей посетителей, то да надо стремиться делать таблицы максимально упрощенными вплоть до PrimeKey - Value, но если это обычный сайт и в таблице не более 3000 записей не планируется, то нету не чего страшного в том чтобы записать все данные в одну таблицу... Зачем держать 10 таблиц по 100 записей, лучше одну - три с теми же 100 записям, будет выигрыш в выборке за счет отсутствия присоединений и лишний условий(если только там не хранятся огромные куски текста).
-
На вскидку 3 варианта которые на мой взгляд лучше того что в 6 посте, поехали: +——--————-+————-————+—————+—————+ | id_category | name_category | price_1 | price_2 | +————-+—————+———+———+ | 1 | Категория 1 | 10 | 50 | +————-+—————+———+———+ | 2 | Категория 2 | 30 | 100 | +————-+—————+———+———+ | 3 | Категория 3 | 25 | 70 | +————-+—————+———+———+ 1 $query = mysql_query("SELECT id_category, name_category, price_1, price_2 FROM category "); $cat_price = mysql_fetch_array($query); echo "<tbody>\n"; echo "<tr>\n"; $TheadOut = ''; do { // цикл по ценам по каждой категории попутно записываем содержимое для thead $TheadOut .= "<th>$cat_name</th>\n" // не нравится наращивать строку? тогда пишем все $cat_name в массив в после используя foreach проходим по массиву и выписываем thead } while( $cat_price = mysql_fetch_array( $cat_price ) ); echo "</tr>\n"; echo "</tbody>\n"; echo "<thead>\n"; echo $TheadOut; echo "</thead>\n"; echo "<table>\n"; 2 $query = mysql_query("SELECT id_category, name_category, price_1, price_2 FROM category "); $cat_price = mysql_fetch_array($query); echo "<thead>\n"; echo "<tr>\n"; $TbodyOut = ''; do { // цикл по именам по каждой категории, попутно записываем содержимое по ценам $TheadOut .= "<th>$cat_name</th>\n" // не нравится наращивать строку? тогда пишем все $price_n в массив в после используя foreach проходим по массиву и выписываем tbody } while( $cat_price = mysql_fetch_array($query) ); echo "</tr>\n"; echo "</thead>\n"; echo "<tbody>\n"; echo $TbodyOut; echo "</tbody>\n"; echo "<table>\n"; 3 берем 2 таблицы из 6 поста // считаю сколько у меня всего категорий $query = mysql_query("SELECT name_category FROM category GROUP BY name_category ORDER BY id_category"); $cat_name = mysql_fetch_array($query); echo "<table>\n"; echo "<thead>\n"; echo "<tr>\n"; // вывожу имена категорий в хедер таблицы do { echo "<th>$cat_name</th>\n"; } while( $cat_name = mysql_fetch_array($query) ); echo "</tr>\n"; echo "</thead>\n"; $query = mysql_query("SELECT category_price.price_1, category_price.price_2, category_price.category FROM category_price INNER JOIN category ON category.id_category=category_price.category GROUP BY category.name_category ORDER BY category.category"); $cat_price = mysql_fetch_array($query); echo "<tbody>\n"; echo "<tr>\n"; // вывожу цены категорий в тело таблицы do { echo "<td>$price_1</td>\n"; } while( $cat_price = mysql_fetch_array($query) ); echo "</tr>\n"; echo "</tbody>\n"; echo "</table>\n";
-
Ну давайте рассуждать логически... Поле num у вас не назначается автоматически и небось имеет первичный ключ. Вы пробуете использовать команду INSERT INTO (добавить строку) где указываете только содержание поля content, вот вам и выдает ошибку, что не возможно добавить в таблицу новую строку без указания значения поля num. И еще если я правильно понял, вы хотите сделать обновление, а не запись новой строки... Тогда зачем вы используете INSERT INTO??? А не UPDATE, в случаи обновления у вас была бы sql команда типа: UPDATE content SET content=$_POST['edit'] WHERE num=$num Важны две вещи: 1) условие WHERE мы же не во всех строках обновляем содержимое а только в одной какой-то и если у вас num имеет уникальный индекс то можно делать условие обновления по нему в противном случаи нужно завести еще одно поле в таблице... 2) нельзя в базу записывать информацию из POST ибо туда могут записать SLQ инъекции и конец тогда вашему сайту...
-
На вскидку только Joomla 1.7 + VirtueMart 2.0 ... Хотя как вариант есть еще MODx с модулем инет магазина(бесплатные модули, что я видел не подойдут, платные по идеи должны подойти, стоят относительно не дорого)... MODx >>>>>> Joomla
-
Я у вас в коде не чего подобного не увидел... есть только <th class="xl66 first" height="20" scope="col" style="height: 15pt; width: 178pt;" width="237"> И собственно сразу вопрос зачем вы 2 раза задаете ширину? Присваивать ячейки таблицы свойство display: block; крайне не желательно ибо в ряде браузеров у вас будет просто разрыв шаблона, да и зачем такое могло понадобиться?
-
У вас синтаксическая ошибка, нужно писать не elseif, а else if www.w3schools.com/js/js_if_else.asp
-
Вот мой отредактированный вариант на форуме выложить не получается из-за того что он сам делает лишние переносы с которыми код становится не рабочим... единственное что в нем есть место } { //(4.00.19 04.11.2010 архивный прайс лист так вот такого быть не должно... однако догодаться что там должно быть я не могу... так на обум можете написать как: } else { //(4.00.19 04.11.2010 архивный прайс лист
-
Mr.Black and what is the reason, that you do't like russian? Catch links: w3.org w3schools.com google.com it's best choice imho
-
Все зависит что именно у вас хранится в поле BLOB ссылку на файл? Или саму картинку? Или еще что-то... Если картинку то так: 1) на странице где нам необходимо вывести картинку мы пишем: echo '<img src="/img.php" alt="" />'; 2) Создаем в корне сайта файл img.php <?php header("Cache-Control: no-cache, must-revalidate"); header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Content-type: image/jpg"); <-- Получение данных из mysql --> echo $array['image']; ?>
-
Да нету там не какой прокрутки... Там у хэдера и бокового меню стоит position: fixed; + фон задан через rbg с указание прозрачности(в ie соответственно не работает)...
-
А что сложного отсчитать количество пикселей до повторения по горизонтале и вертикале? Если вас смущает темный фон то сделайте копию слоя осветлите выделите необходимый кусок и переключитесь между слоями... В данном случаи у вас наклонные линии ну вот и считайте повторение по гребням... Да кстати на заметку... Повторяющийся background лучше делать большими кусками ну хотя бы по 100-200 пикселей (в зависимости от нужд), просто когда повторяющийся кусок 3 на 3 пиксиля и браузеру приходится замостить его на экране 2400px это порой заметно его тормозит
-
Сверстать такое можно: 1) Используя css3 в частности border-radius 2) Используя background Касательно submit картинкой вам не чего не мешает воспользоваться <input type="image" src="images/imgbutton.gif"> Разница с обычным type="submit" лишь в том, что еще передаются координаты клика(x,y)...
-
С помощью пхп не как... (потому как php серверный язык программирования, в лучшем случаи можно посчитать размер страницы которая будет передана пользователю и только) Можно использовать фрэймы и js, можно что-то вроде flasha, можно плагин на браузер поставить(в Opere и ряде других современных брузеров есть стандартные счетчики загрузки(по умолчанию они не выводятся))...
-
Ну значит вы используете доктайп HTML, а пишете по стандарту XHTML... Похожие проблемы у вас возникнут с тэгами hr img input param и рядом атрибутов. Так, что одно из двух либо правильно вас валидатор ругает, либо у вас некорректно написан доктайп...
-
мб line-height, это надо смотреть код...
-
IE 9 показывает статичный html, но некорректно показывает такой же php
stars replied to Жуля's question in HTML Coding
Ну сам по себе php не чего не искажает, так что вы покажите страницы... Однако если пальцем в небо, то я думаю проблема в доктайпе, смысл в том, что доктайп на странице должен идти самым первым, если передним вставить какие-то символы то он уже может не учитываться, отсюда и искажение... -
МодИкс очень сложна.. боюсь ее У меня знакомая девушка дизайнер, когда не нужно писать не каких дополнительных модулей сама верстает сайты на нем... Чтобы написать и использовать модули в шаблонах на нем, много проще чем в любой кмс которую я видел, работа с шаблонами происходит не посредственно в админке, где можно легко разделять программную часть от дизайна... Сложна данная кмс только на первый взгляд...
-
В MODx revolution можно это открутить... И вообще рекомендую покрутить MODx раз уж вы создаете что-то новое, там очень много удачных решений.
-
Все в целом не сложно, представьте себе как хранятся файлы на компьютере, есть папки(это разделы форума, или вложенные в них топики), есть файлы(это уже сообщения пользователей). Вот по сути и все несколько таблиц с id, parent_id, title, subject, username... Но, по настоящему дельный совет только один, не занимайтесь ерундой, возьмите готовый форум.
-
function hasClass(ele,cls) { return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)')); } function addClass(ele,cls) { if (!this.hasClass(ele,cls)) ele.className += " "+cls; } function removeClass(ele,cls) { if (hasClass(ele,cls)) { var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)'); ele.className=ele.className.replace(reg,' '); } } //call the functions addClass(document.getElementById("test"), "test"); removeClass(document.getElementById("test"), "test");
-
Как это утянуть изображение оО