[ Поиск ]
Полная Версия: Требуется помощь знатовов php
Jerode
Возможно немного не в тему раздела, просто не нашел куда обратиться с этим вопросом, так что сильно не пинайте.
Верстаю сайт для знакомых мебельщиков, и нужно сделать страницу сравнения нескольких изделий (мебельных гарнитуров), понравилось как это реализовано вот тут http://www.marya.ru/compare/ подскажите где можно почитать про структуру подобного php обработчика формирующего конечную html страницу.

Заранее спасибо.
SlavaD
Цитата(Jerode @ 3 Сентября, 2010, 16:04)
про структуру подобного php обработчика формирующего конечную html страницу
В смысле вы спрашиваете как сделать пару вложенных циклов ?
Eugene
в базе есть таблица с полями (свойствами кухни)
построчно выводим свойства каждой участвующей в сравнении кухни в своем столбце
сколько кухонь - столько столбцов
количество строк равно количеству полей в таблице со свойствами кухни

вот и все волшебство
Jerode
Извините за тупые вопросы, насколько я пониаю после нажатия на волшебную кнопку "Сравнить", формы отмеченные галочкой - вернее их ID должен быть передан в некий php обработчик который сформирует структуру страницы результатов, не может же страница результатов генерировать сама себя blink.gif
Цитата(SlavaD @ 3 Сентября, 2010, 18:23)
В смысле вы спрашиваете как сделать пару вложенных циклов ?

я спрашиваю как ламер который никогда не работал с php, и если можно пишите более доступным языком, так сказать для чайников.
Цитата(Eugene @ 3 Сентября, 2010, 18:48)
в базе есть таблица с полями (свойствами кухни)

это я понимаю, вопрос в каком виде далжна быть база, и какова структура (текст скрипта) обработчика который обращается в этой базе и вытягивает из нее все необходимое.
Eugene
лучше наймите вольнонаемного разработчика PHP (фрилансера) для разового написания скрипта
или изучайте php сами (в будущем очччччень пригодится - уверяю)
Jerode
Цитата(Eugene @ 3 Сентября, 2010, 19:47)
или изучайте php сами (в будущем очччччень пригодится - уверяю)

это и планируется сделать в ближайшем времени по ходу работы над сайтом
alexk
Я как бы совсем не знаток php и видел его пару раз, да и то изнутри, но здесь вопрос мало относящийся к php
На сайте есть кнопка (точнее элемент sumbit). К кнопке привязано, понятное дело, действие submit:

<input type="submit" name="compare" value="Сравнить" id="CompareBut">

Сама кнопка находится внутри формы (элемент управления, содержащий кнопки, чекбоксы, текстовые поля ввода и тд). Форма определяется (чуть выше по коду страницы) как:
<form method="POST" action="/service/compare/compare.php">

Соотвественно при при вызове submit, те при отправке формы, вызывается service/compare/compare.php, которому с помощью POST передается содержимое формы.
Далее этот php код (его вы не увидите, если у них конечно не криво настроенный веб-сервер) производит сравнение и генерирует страничку результата.

svip
Jerode
ДА там ничего не сравнивается. просто рядом отображаются данные из формы.

Алгоритм:
HTML страница:

Код
<form name="xxx" action="test.php" method="POST">
 <input type="checkbox" name = "item[]" value = "<?php print $id; ?>" />
 <input type="checkbox" name = "item[]" value = "<?php print $id; ?>" />
 ........................
 <input type="checkbox" name = "item[]" value = "<?php print $id; ?>" />
</form>


файл test.php
Код

//получаем айдишки из формы
$items = (isset($_POST['item'])) ? $_POST['item'] : array();
$data = array();
// перебираем массив с айдишками
foreach ($items as $id) {
 // получаем данные из базы для конкретной записи
 $data[] = getDataFromDatabase($id);
}
...................

// рисуем блоки с записями
foreach ($data as $value) {
 print "<div>";
  // получаем структуру для отрисовки данных.
 print getHtmlFromData($value);
 print "</div>";
}



Думаю общий принцип понятен. А вообще действительно лучше кого-то попросить написать, ибо выучить php за пару дней не получится.
Jerode
Спасибо за внятное объяснение, как будет время буду експерементировать
Fast Reply:

 Enable Smilies |  Enable Signature
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2019 Invision Power Services, Inc.