2013-02-12 1 views
0

Я пытаюсь сделать простой модуль для joomla 2.5. По сути, я хочу иметь раскрывающийся список с людьми, едущими. После выбора. Информация для этого районного офиса/личного офиса появится в div ниже раскрывающегося списка.Модуль сборки Joomla. Выпадающий список с подключением к базе данных

В конце концов я хотел бы иметь второй выпадающий список, который позволит пользователю выбирать офисный телефон, персональный телефон, электронную почту офиса, личную почту, адрес офиса или личный адрес после первого выбора верховой езды. Эта информация будет отображаться ниже двух выпадающих ящиков. Пока у меня установлен и установлен модуль (структура правильная). Просто не правильный код в моем helper.php и TMPL/default.php

helper.php

<?php 
// No Access 
defined('_JEXEC') or die ; 

//Add database Instance 
$db = JFactory::getDBO(); 
//Pass in query 
$query = "SELECT * FROM #__mlainfo"; 
//Run it 
$db -> setQuery($query); 

//Load it as an object into variable "$ridings" 
$riding = $db -> loadObjectList(); 

default.php

<?php defined('_JEXEC') or die; ?> 

<div class="moduletable<?php echo $params->get('moduleclass_sfx') ?>"> 
<select> 
    <?php foreach ($riding as $riding_name => $ridings): ?> 
    <option value="<?php echo $riding_name ?>"> 
    <?php endforeach; ?> 
</select> 
</div> 

Я понимаю, что я только наполовину там. Я получаю список выбора для показа с установленным. Однако у него всего 40 пробелов. Любая помощь будет оценена по достоинству.

Вся информация хранится в базе данных с названиями;

верхом (номер), riding_name, full_name, off_address, per_address, off_email, per_email, off_phone, per_phone

+0

Я новичок в Joomla и PHP, и вы ищете то же самое, что и вы. вы можете порекомендовать или предложить какой-либо модуль или расширение или подключиться к этой задаче .. ?? Любая помощь будет очень добрым. –

+0

Я закончил тем, что нанимал фрилансера для создания модуля/расширения для этого, поскольку мое кодирование не совсем соответствовало задаче – user1881482

ответ

2
loadObjectList() returns an indexed array of PHP objects 

<div class="moduletable<?php echo $params->get('moduleclass_sfx') ?>"> 
<select> 
    <?php foreach ($riding as $key => $ridings): ?> 
    <option value="<?php echo $ridings->riding?>"><?php echo $ridings->riding_name?></option> 
    <?php endforeach; ?> 
</select> 
</div> 

http://docs.joomla.org/Accessing_the_database_using_JDatabase/1.5#loadObjectList.28.29

Надеюсь, это поможет.

+0

Это сработало. Еще один вопрос: что является самым простым способом с этого момента, чтобы отобразить информацию о конюшне. Предположим, что пользователь выбирает этот третий вариант выбора. Я хотел бы отобразить непосредственно под полем офисную информацию. Сохраняется в одной строке в базе данных. – user1881482

+0

@ user1881482: Один из способов - использовать Ajax для обмена. И извлекать данные из db. Другой способ - преобразовать $ данные верховой езды в json и вызвать функцию на событии «onchange» и отображать данные. – Irfan

+0

[ссылка] http://www.w3schools.com/php/php_ajax_database.asp Будет ли это работать в модуле? – user1881482

1

Вам просто нужно заполнить поле параметра:

<?php defined('_JEXEC') or die; ?> 

<div class="moduletable<?php echo $params->get('moduleclass_sfx') ?>"> 
<select> 
    <?php foreach ($riding as $riding_name => $ridings): ?> 
    <option value="<?php echo $ridings->riding ?>"><?php echo $ridings->riding_name ?></option> 
    <?php endforeach; ?> 
</select> 
</div> 
+0

Я тоже пробовал это раньше. Кажется, это просто значение ARRAY для всех из 40 ранее пустых элементов. Как преобразовать массив в пригодные для использования объекты? – user1881482

+0

Переменная '$ ridings' фактически содержит объект со всеми столбцами. Вы можете использовать синтаксис обновленного кода, чтобы получить любое значение в цикле. –

+0

Спасибо, что все отлично поработало. Вы могли бы помочь решить вторую часть? Заполнение div с информацией о офисе из соответствующего выбора в раскрывающемся списке. – user1881482

Смежные вопросы