День добрый!
Php, к сожалению, знаю только по тем моментам, которые использовались в процессе написания дополнений к одному сайту. Сайт был построен на технологии mvc c поддержкой codeigniter. Поэтому когда дали задание написать меню, листьями которого являются товары, возникла проблема.
В этот раз технология mvc не использовалась, есть index.php, являющийся солянкой из контроллера, модели и вьюхи (т.е. для вывода тэгов html заводится переменная, в которую они, собственно и присваиваются, в последствии ехом подается на экран) + отдельными файлами js и css. Меню (трехуровенвое) формируется из БД (id, parent_id, name), товар помимо прочих атрибутов имеет структуру (id, menu_id, name…), где menu_id=id меню. Меню формируется, генерируется, выводится. Отлично. При этом, т.к. меню имеет вид <ul><li></li></ul>, то в id li присваивается id категории меню. Далее в файле js
$(document).ready(function()
{
$("a").click(function()
{
cat_id=$(this).parent().attr("id");
$.post("view_book/ReadID", {'cat_id':cat_id},function(data)
{
alert(data);
});
});
});
В индексе создается ф-ия ReadID, в которой происходит выборка из БД товаров по id, формируется массив и… собственно на этом месте и начинаются непонятки и мои незнания. Не знаю, насколько правильно было сделано в прошлый раз, но выглядело это так: в кодигнитере контроллере (который получил id из js через ф-ию post) в подобной ситуации формировался массив, который потом передавался в отдельный файл вьюхи через вис ($this->load->view("temp/tree",$Vdata);), в файле tree.php полученный массив обрабатывался, добавлялся в переменную наравне с тэгами html в апострофах и потом в заключении стояло ехо, который и выводил всю солянку из переменных. При этом тогда в js в ф-ии пост все что получили добавлялось к прописанному во вьюхе пустому диву с определенным айди:
$.post("temp/searchDivision",{'sub_id':sub_id,'countDiv':countDiv},function(data)
{
$('#selectRoutes').append(data);
});
Заранее извиняюсь, если запутанно объясняю, но мне хотелось бы показать как тогда все это реализовывалось, причем, работало. В моей же нынешней ситуации во-первых, не получается передать в js массив с выборкой из БД, содержащий товары, относящиеся к данной категории меню, а во-вторых, т.к. только js является отдельным файлом, а все остальное сидит в индексе, то может это иначе реализовывается? И если да, то как? А если надо передавать выборку, то с помощью каких ф-ий это делается.
Заранее спасибо за помощь :)