Логин:   Пароль:   
   
 
X   Сообщение сайта
(Сообщение закроется через 2 секунды)
 
> Помогу с PHP / MySQL / Postgresql / JavaScript / jQuery и т.п., Отвечу на вопросы какие смогу, бесплатно ) за "спасибо"
debian
сообщение 13.3.2010, 16:32
Сообщение #41


Постоянный посетитель


Группа: Пользователи
Сообщений: 394
Регистрация: 13.1.2007
Пользователь №: 22600
Спасибо сказали: 42 раз(а)



Всё верно, именно такой механизм и предполагается.
Вопрос в том, как реализовать <select>, он должен строится динамически на основе базы.
 
+Цитировать сообщение
xave
сообщение 13.3.2010, 21:03
Сообщение #42


Постоянный посетитель


Группа: Пользователи
Сообщений: 245
Регистрация: 12.4.2007
Из: Зябликово
Пользователь №: 26762
Спасибо сказали: 10 раз(а)



Ну если строка новая выглядит так:
[select1] [select2] [select3]
То в начале строится только [select1], остальные два disabled=true. По событию select1.onChange генерируется XmlHttpRequest для выбранного в select1 товара и из него строится список в select2. Соответственно также для select2 и select3 делается.
 
+Цитировать сообщение
debian
сообщение 13.3.2010, 21:21
Сообщение #43


Постоянный посетитель


Группа: Пользователи
Сообщений: 394
Регистрация: 13.1.2007
Пользователь №: 22600
Спасибо сказали: 42 раз(а)



Спасибо за терпение, но то ли я не понимаю, то ли плохо объяснил.
У меня ситуация чуть проще - списки не зависят друг от друга, просто они отвечают за разные аспекты. Например: первый список - изделие, второй - исполнение, третий - цвет.
Все эти параметры хранятся в соответвующих таблицах базы.
Сейчас страница строится так:
Код
<tr>
        <td><strong>Изделие:</strong></td>
                <td><select name = "product"><?php zakaz_list(products, name); ?>
                        </select></td>
    </tr>
    <tr>
        <td><strong>Исполнение:</strong></td>
                <td><select name = "case_type"><?php zakaz_list(case_type); ?>
                        </select></td>
    </tr>

Функция построения списка:
Код
function zakaz_list($data)
{
        $result = mysql_query("SELECT id, name FROM $data " .
                "WHERE id <> 1 ORDER BY name") or die(mysql_error());
        echo '<option value = 1> --- </option>';
        while ($data = mysql_fetch_assoc($result)) {
                print("<option value = \"{$data['id']}\">{$data['name']}</option>");
        }
}

Понятное дело, что фукция выполняется при загрузке загрузке страницы и я получаю нужные списки.
Вопрос в том, как этого добиться без перезагрузки страницы при добавлении новой строчки?
В результате я хочу получить следующее:
Код
1:[select1][select2][select3] //генерятся при загрузке страницы
2:[select1][select2][select3] //генерятся при необходимости
..........................    //если заказ содержит несколько позиций
3:[select1][select2][select3]
 
+Цитировать сообщение
Чарли
сообщение 16.3.2010, 0:11
Сообщение #44





Группа: Пользователи
Сообщений: 26
Регистрация: 9.2.2010
Из: msk
Пользователь №: 130858
Спасибо сказали: 7 раз(а)



Цитата(debian @ 13.3.2010, 21:21) *
Спасибо за терпение, но то ли я не понимаю, то ли плохо объяснил.
У меня ситуация чуть проще - списки не зависят друг от друга, просто они отвечают за разные аспекты. Например: первый список - изделие, второй - исполнение, третий - цвет.
Все эти параметры хранятся в соответвующих таблицах базы.

Цитата
Понятное дело, что фукция выполняется при загрузке загрузке страницы и я получаю нужные списки.
Вопрос в том, как этого добиться без перезагрузки страницы при добавлении новой строчки?
В результате я хочу получить следующее:
Код
1:[select1][select2][select3] //генерятся при загрузке страницы
2:[select1][select2][select3] //генерятся при необходимости
..........................    //если заказ содержит несколько позиций
3:[select1][select2][select3]


Т.е. вопрос в том, как динамически сгенерировать селекты? Я бы сделал как-то так (мне удобнее делать с jQuery, напишу на ее примере)

Код
<script>
var i=0; // начальный счетчик заказанных позиций
function addItem()  // дергаем эту функцию каждый раз, когда нужно добавить группу селектов
{
   i++;
   $('#layers').append('<div id="layer'+i+'">'+$('#defaultValues').html()+'</div>'); // добавляем наш слой с параметрами по умолчанию
   $('#layer'+i+' > select').each(function(item)
    {
        $(item).attr('name',$(item).attr('name')+i); // добавляем ID к каждому селекту, чтобы получить их в переменных POST
    });
    $('#layer'+i).show('slow');  // медленно и красиво показываем свежеполучившийся слой.
}
</script>
<div id="defaultValues" style="display:none;">
    <select name="selectType"><option>...</option></select>
    <select name="selectColor"><option>...</option></select>
    <select name="selectSize"><option>...</option></select>
</div>
<form method="POST">
    <div id="layers"> <!-- Контейнер для будущих селектов-->
    </div>
</form>
<script>
    addItem(); // добавим самый первый слой.
</script>


Вроде откомментировал. На работоспособность не проверял код, просто хотелось показать принцип - создаем невидимый слой с параметрами по умолчанию, потом каждый раз его клонируем, присваивая новые имена.


--------------------
(с) Internal Spellchecker
 
+Цитировать сообщение
debian
сообщение 16.3.2010, 20:03
Сообщение #45


Постоянный посетитель


Группа: Пользователи
Сообщений: 394
Регистрация: 13.1.2007
Пользователь №: 22600
Спасибо сказали: 42 раз(а)



Спасибо, посмотрю.
С ходу возникает вопрос - благодаря чему заполняются options?
 
+Цитировать сообщение
Чарли
сообщение 17.3.2010, 14:04
Сообщение #46





Группа: Пользователи
Сообщений: 26
Регистрация: 9.2.2010
Из: msk
Пользователь №: 130858
Спасибо сказали: 7 раз(а)



Цитата(debian @ 16.3.2010, 20:03) *
Спасибо, посмотрю.
С ходу возникает вопрос - благодаря чему заполняются options?


в слое defaultValues - благодаря тому, что Вы их при генерации страницы заполняете ) А дальше этот начальный шаблон просто копируется при необходимости.


--------------------
(с) Internal Spellchecker
 
+Цитировать сообщение
Mentnek
сообщение 19.3.2010, 11:46
Сообщение #47





Группа: Пользователи
Сообщений: 1
Регистрация: 12.3.2008
Пользователь №: 38620
Спасибо сказали: 0 раз(а)



Использую такой скрипт для меню: http://valums.com/scroll-menu-jquery/. Все хорошо, но хотелось бы исправить такой момент. При первом наведении мышки на меню, оно резко дергается. Как бы сгладить этот эффект, или может сделать так, чтобы меню скролилось только при явном движении мыши влево-вправо.
 
+Цитировать сообщение
Чарли
сообщение 21.3.2010, 15:48
Сообщение #48





Группа: Пользователи
Сообщений: 26
Регистрация: 9.2.2010
Из: msk
Пользователь №: 130858
Спасибо сказали: 7 раз(а)



Цитата(Mentnek @ 19.3.2010, 11:46) *
Использую такой скрипт для меню: http://valums.com/scroll-menu-jquery/. Все хорошо, но хотелось бы исправить такой момент. При первом наведении мышки на меню, оно резко дергается. Как бы сгладить этот эффект, или может сделать так, чтобы меню скролилось только при явном движении мыши влево-вправо.

Там есть такой момент:

Код
div.scrollLeft(left);


он собственно и сдвигает слой при движении мыши. причем моментально, тупо присваивая слою координаты. я думаю, можно попробовать двигать слой не моментально - а постепенно, или еще лучше - с каким-нибудь easing. Можно реализовать через метод $.animate({left: left},'fast');


--------------------
(с) Internal Spellchecker
 
+Цитировать сообщение
Nyaka
сообщение 21.3.2010, 21:13
Сообщение #49


Чемпион


Группа: Пользователи
Сообщений: 2327
Регистрация: 14.4.2009
Из: Царицыно
Пользователь №: 68064
Спасибо сказали: 154 раз(а)



Как лучше выводить данные:
1) В 1 запросе (т.е. все пихаем в 1 переменную, делаем где надо замены, а потом все выводим в 1 принте)
2) В нескольких (используем кучу выводов)

В 1 принте cgi\fastcgi (не fastcgid) режимы работают шустрее за счет отсутствия паузы при отправке данных.
Долгообрабатываемые скрипты не учитываю.


--------------------
 
+Цитировать сообщение
Чарли
сообщение 22.3.2010, 23:27
Сообщение #50





Группа: Пользователи
Сообщений: 26
Регистрация: 9.2.2010
Из: msk
Пользователь №: 130858
Спасибо сказали: 7 раз(а)



Цитата(Nyaka @ 21.3.2010, 21:13) *
Как лучше выводить данные:
1) В 1 запросе (т.е. все пихаем в 1 переменную, делаем где надо замены, а потом все выводим в 1 принте)
2) В нескольких (используем кучу выводов)

В 1 принте cgi\fastcgi (не fastcgid) режимы работают шустрее за счет отсутствия паузы при отправке данных.
Долгообрабатываемые скрипты не учитываю.


Под "запросом", я т.к. понимаю, вы имели ввиду операцию вывода на экран? Разница в скоростях тут минимальна, и очевидно что одна итерация вывода отработает быстрее, чем несколько - т.к. соответственно и меньше вызовов функции, выделения памяти, и т.п. Но эта разница несущественна. Вы гораздо больше потеряете в скорости, случайно забыв всего одну вычисляющую функцию с неизменным результатом, например в цикле.

С точки зрения юзабилити (программистского, естественно) - раз уж вопрос стоял "как лучше", а не "как быстрее" - я рекомендую брать шаблон вывода, подставлять значения, компилируя готовый текст - и выводить одной операцией. Это позволит оперативно менять шаблоны вывода, оперативно вычислять проблемные места, да и огромный плюс при прототипировании - сразу видно, какие значения в шаблоне еще не готовы, и что стоит имплементировать. Опять же, если Вы - сторонник функционального программирования, можно осуществить "ленивую" подгрузку данных в шаблон, что существенно снизит скорость приложения засчет исключения неиспользуемых вызовов.


--------------------
(с) Internal Spellchecker
 
+Цитировать сообщение
Sleep
сообщение 23.3.2010, 1:04
Сообщение #51


Постоянный посетитель


Группа: Заблокированные
Сообщений: 305
Регистрация: 27.6.2009
Пользователь №: 80132
Спасибо сказали: 4 раз(а)



Вопросы:
1. Какие обязанности у php-программиста? К примеру, в чем заключается поддержка проекта?
2. За сколько времени реально освоить php, к примеру чтобы написать сайт?
3. Если освоить php, намного ли легче будет освоить к примеру perl или python?


--------------------
netbynet- dúr Cuideachta ba mheasa, atá ag stealladh cac isteach sa scornach a gcustaiméirí

 
+Цитировать сообщение
xave
сообщение 23.3.2010, 16:28
Сообщение #52


Постоянный посетитель


Группа: Пользователи
Сообщений: 245
Регистрация: 12.4.2007
Из: Зябликово
Пользователь №: 26762
Спасибо сказали: 10 раз(а)



Цитата
Какие обязанности у php-программиста?

Как и у любого другого - написание своего куска программы. Если ты тимлид, то еще проектирование архитектуры проекта плюс координация остальных программистов. Во фрилансе - задача, поставленная заказчиком.

Цитата
К примеру, в чем заключается поддержка проекта?

Дописывание новых модулей, если начальство решит добавить новую функциональность к проекту, возможно еще и администрирование, но для это сисадмины имеются.

Цитата
За сколько времени реально освоить php, к примеру чтобы написать сайт?

Если в школе программирование не было для тебя мучением, то начать писать код - хоть в первый день (низкий порог вхождения, да), благо полно онлайн-самоучителей на русском. Да и желательно еще html + CSS знать (Да и еще javascript + ajax, но людей, знающих его хорошо - мало, обычно дело ограничивается фреймворком jQuery да методом getElementById()). Другой вопрос, когда ты научишься писать код так, чтобы:
а)он был как можно более понятен человеку, впервые увидевшему его;
б)был организован таким образом, чтобы при небольшом изменении функциональности не приходилось переписывать с нуля полпрограммы.

Цитата
Если освоить php, намного ли легче будет освоить к примеру perl или python

Конкретно про эти два языка могу сказать только то, что они представляют собой два противоположных подхода к решению похожих задач. Сам после php начал учить Java, поначалу конечно было непривычно, когда все сущности - объекты, а действия - их методы, но привык, теперь php-код кажется каким-то странным.
 
+Цитировать сообщение
Nyaka
сообщение 23.3.2010, 17:03
Сообщение #53


Чемпион


Группа: Пользователи
Сообщений: 2327
Регистрация: 14.4.2009
Из: Царицыно
Пользователь №: 68064
Спасибо сказали: 154 раз(а)



Sleep, в первую очередь я бы посмотрел на синтаксис C\C++, а потом уже начал читать маны по PHP (т.к. за основу взяли как раз его). Perl и Python вроде как тоже унаследовали Сишный синтаксис с некоторыми изменениями.
Еще где-нить почитай про алгоритмы обработки тех или иных функций (как например производится определение длины строки) для дальнейшей оптимизации кода в плане скорости обработки.
И самое главное что тебе придется выучить: SQL (например, MySQL). Выучить не только команды, но и как оптимизировать саму БД, чтобы не перегружать БД. Неплохие статейки видел на habrahabr.ru

PS Не забывай о том, что не стоит сразу писать свой движок, лучше потренируйся на мелких примерах.


--------------------
 
+Цитировать сообщение
xave
сообщение 23.3.2010, 17:18
Сообщение #54


Постоянный посетитель


Группа: Пользователи
Сообщений: 245
Регистрация: 12.4.2007
Из: Зябликово
Пользователь №: 26762
Спасибо сказали: 10 раз(а)



Цитата(Nyaka @ 23.3.2010, 17:03) *
Sleep, в первую очередь я бы посмотрел на синтаксис C\C++

Зачем ты так с человеком жестоко, курлибрейсовый синтаксис наоборот лучше с php учить (хотя что там в самом синтаксисе учить-то), а потом уже в cpp лезть, если понадобиться.
 
+Цитировать сообщение
Sleep
сообщение 23.3.2010, 17:19
Сообщение #55


Постоянный посетитель


Группа: Заблокированные
Сообщений: 305
Регистрация: 27.6.2009
Пользователь №: 80132
Спасибо сказали: 4 раз(а)



Спасибо всем за ответы.
Скачал две книги(Самоучитель PHP 5 Колисниченко Д.Н. и PHP 5 В Подлиннике, Котеров Д. В., Костарев А. Ф.). Кто читал- дайте отзыв.

Насчет того что учить ещё и БД(SQL) это только плюс.
Насчет освоения языков в школе- у нас в школе(в нашем классе) информатика появилась только в 9-классе) И то на уровне мышки и пр. периферии.


--------------------
netbynet- dúr Cuideachta ba mheasa, atá ag stealladh cac isteach sa scornach a gcustaiméirí

 
+Цитировать сообщение
xave
сообщение 23.3.2010, 17:29
Сообщение #56


Постоянный посетитель


Группа: Пользователи
Сообщений: 245
Регистрация: 12.4.2007
Из: Зябликово
Пользователь №: 26762
Спасибо сказали: 10 раз(а)



Сойдет как основа, но они 2007 и 2005 годов соответственно, а летом PHP 5.3 вышел, куда добавили много чего нового, например замыкания, лямбды, блок try{} catch{} и пр. Так что как только разберешься с книгами, ищи что-нибудь поновее. (А скоро php 6 выйдет).
 
+Цитировать сообщение
Nyaka
сообщение 23.3.2010, 17:47
Сообщение #57


Чемпион


Группа: Пользователи
Сообщений: 2327
Регистрация: 14.4.2009
Из: Царицыно
Пользователь №: 68064
Спасибо сказали: 154 раз(а)



xave, не буду спорить, кому как.
Sleep, я читал книгу Кернигана по С (обзорно), а потом уже навесил знания по PHP на готовую "базу". С какой книги начинать - дело твое.
Список функций смотри на php.net и softtime.ru (на 2 сайте просто переведнное описание многих функций).

Книги советую брать в бумажном варианте, так удобнее.

Сообщение отредактировал Nyaka - 23.3.2010, 17:48


--------------------
 
+Цитировать сообщение
Чарли
сообщение 23.3.2010, 20:07
Сообщение #58





Группа: Пользователи
Сообщений: 26
Регистрация: 9.2.2010
Из: msk
Пользователь №: 130858
Спасибо сказали: 7 раз(а)



Цитата(Sleep @ 23.3.2010, 17:19) *
Спасибо всем за ответы.
Скачал две книги(Самоучитель PHP 5 Колисниченко Д.Н. и PHP 5 В Подлиннике, Котеров Д. В., Костарев А. Ф.). Кто читал- дайте отзыв.

Насчет того что учить ещё и БД(SQL) это только плюс.
Насчет освоения языков в школе- у нас в школе(в нашем классе) информатика появилась только в 9-классе) И то на уровне мышки и пр. периферии.


Начинайте с правильного, а не с академического. Книги банды GOF в помощь, Agile-разработка, проектирование. Если понять суть разработки - функции языка можно выучить за 2 дня.


--------------------
(с) Internal Spellchecker
 
+Цитировать сообщение
xave
сообщение 23.3.2010, 22:40
Сообщение #59


Постоянный посетитель


Группа: Пользователи
Сообщений: 245
Регистрация: 12.4.2007
Из: Зябликово
Пользователь №: 26762
Спасибо сказали: 10 раз(а)



Цитата(Чарли @ 23.3.2010, 20:07) *
Начинайте с правильного, а не с академического. Книги банды GOF в помощь, Agile-разработка, проектирование. Если понять суть разработки - функции языка можно выучить за 2 дня.

Правильно, их даже учить не обязательно, автокомплит наше все. Касательно проектирования, можно код генерировать через UML-моделлеры, например Umbrello. Заодно появиться наглядный пример, как части программы друг с другом взаимодействуют.
 
+Цитировать сообщение
Sleep
сообщение 23.3.2010, 23:16
Сообщение #60


Постоянный посетитель


Группа: Заблокированные
Сообщений: 305
Регистрация: 27.6.2009
Пользователь №: 80132
Спасибо сказали: 4 раз(а)



Цитата(xave @ 23.3.2010, 22:40) *
Цитата(Чарли @ 23.3.2010, 20:07) *
Начинайте с правильного, а не с академического. Книги банды GOF в помощь, Agile-разработка, проектирование. Если понять суть разработки - функции языка можно выучить за 2 дня.

Правильно, их даже учить не обязательно, автокомплит наше все. Касательно проектирования, можно код генерировать через UML-моделлеры, например Umbrello. Заодно появиться наглядный пример, как части программы друг с другом взаимодействуют.


Вопросы:
1. Где скачать книги GOF на русском?
2. Понять суть разработки- суть разработки agile или общей разработки php программ, скриптов и пр.?
3. Автокомплит- автокомпиляция или что-то другое?
4. Разжуйте на простом языке с чего начать изучение php)

P.S. Странное ощущение когда пишешь такие вопросы.


--------------------
netbynet- dúr Cuideachta ba mheasa, atá ag stealladh cac isteach sa scornach a gcustaiméirí

 
+Цитировать сообщение

30 страниц V  < 1 2 3 4 5 > » 
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0



© 2005—2016 ООО «Нэт Бай Нэт Холдинг»,
Все права защищены.
Правила пользования ресурсами