У меня есть внешняя база данных Mydbase, которая содержит следующие таблицы:
- Компания: основной код, субкод, название компании
- Продукт: код продукта, название продукта
- Емкость: основной код, субкод, код продукта, емкость, поскольку
Я хочу отобразить в представлении основной код, субкод, код продукта, название компании, название продукта, емкость и т. Д.
Я также хочу показать фильтр кода продукта.
Я настроил файл setting.php db_url внешней базы данных.Затем я создал форму на странице для выбора компании;как только пользователь выбирает компанию, я сохраняю код компании в переменной сеанса для справки.Я буду использовать эту переменную для извлечения информации в представлении.Я введу его значение в PHP-код аргумента по умолчанию, а Views предоставит мне информацию о мощности выбранной компании.Эта страница автоматически перенаправляет пользователя на страницу просмотра емкости, используя функцию drupal_goto()
.Код страницы прилагается ниже.У меня проблема с кодом: я не могу сохранить название компании в переменной;Я могу только получить информацию для «основного кода» и «субкода».Как получить отображаемое значение раскрывающегося списка вместо значения тега?
Я не знаю, как использовать представление для внешней базы данных без определения типа содержимого в drupal, и у меня нет поля cck какЧто ж.Если я могу, я хочу также представить код продукта в view.so, пользователь может выбрать и просмотреть один продукт выбранной компании.
if(isset($_SESSION['ses_maincode'])){
echo "Company Main code Selected = " . $_SESSION['ses_maincode'] . "<br/>";
echo "Company Sub code Selected = " . $_SESSION['ses_subcode'] . "<br/>";
echo "<br />";
}
$output .= drupal_get_form('formexample_testform');
echo $output;
function formexample_testform() {
$myvalue = array();
$count = 0;
db_set_active('mydb');
$result = db_query('SELECT maincode,subcode,cname FROM {company}');
while ($row = db_fetch_array($result)) {
$arrayvalue = $row[maincode] . '+' . $row[subcode];
$myvalue[$arrayvalue]=$row['cname'];
$count = $count + 1;
}
db_set_active('default');
$form['select_company'] = array(
'#title' => t('Select Company'),
'#type' => 'select',
'#description' => t('Pick the company '),
'#options' => $myvalue,
'#multiple' => FALSE,
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Submit')
);
return $form;
}
function formexample_testform_submit($form_id, $form_state) {
$name = $form_state['values']['select_company'];
drupal_set_message(t(' You have select the company %name', array('%name' => $name)));
$mystring = $form_state['values']['select_company'];
$pos = strrpos($mystring, "+");
$endpoint = strlen($mystring) - $pos;
$_SESSION['ses_maincode']=substr($mystring,0,$pos);
$_SESSION['ses_subcode']=substr($mystring,$pos+1,$endpoint);
$urlstring='node/7';
/** . $_SESSION['ses_maincode']; */
drupal_goto($urlstring);
}