[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Работа с переменными (php)
drlipodron
Помогите с разработкой блока для отображения информации о фирмах.
Есть таблица в базе данных. Данные из нее берутся при выполнении первого блока (при совпадении названия ноды со значением в поле Name в TABLICA1.
Объявляю переменную (глобальную)$GLOBALS['Address'] и $GLOBALS['Short'].
В результате испольнения кода, при щелчке по "ссылке" должен отображаться блок информации (телефоны и др.) из другой таблицы TABLICA2 при условии совпадения глобальных переменных в строчках из первой таблицы со значениями в FName и Address в таблице TABLICA2.

Проблема1: значения глобальных переменных перезаписываются, и отображается информация только о последней компании в таблице, которая получается при выполнении кода1 на странице.
Нужно, конечно, сохранять все значения, которые передаются глобальной переменной, и передавать одно ее значение в запрос (который в блоке), чтобы вывести только нужную информацию.
Могу немного отблагодарить:) на Я.Деньги.


КОД1 (выполняется на странице)
<?php
print
"<table><tbody>";
$node = menu_get_object();
$title=$node->title;
$andgrads = '';
$andcomps = '';
$aparam = '';
$header = array('Услуга в прайсе','Цена','Мед. центр','Город','Карта');
$q=db_select('TABLICA1','t1')->extend('PagerDefault')->limit(20);
$q->condition('Name',$title ,'=');
$q->fields('t',array('Name', 'Price', 'Short', 'Address', 'Chart'));
$q->orderBy('t.Short','asc');
$result=$q->execute();
while($record=$result->fetchAssoc())
{
$tds = '<td>';
$tde = '</td>';
$name= $record['Name'];
$GLOBALS['Short'] = $record['Short'];
$Price = $record['Price'];
$GLOBALS['Address'] = $record['Address'];
$Chart = $record['Chart'];
print "<tr>";
print $tds; print $Price; print $tde;print $tds;print $tde;print $tds;print $GLOBALS['Address'];print $tde;print $tds;print $Chart;print $tde;
print $tds;
print "<a onclick=\"document.getElementById('addrdiv').style.display = 'block'\"; target='address' title='Контакты' rel='nofollow'>";
print $name;
print "</a>";
print $tde;
print "</tr>";
}
print "</tbody></table>";
?>


КОД2 (выполняется в блоке)
<div id="addrdiv">
<?

$iheader = array('Мед. центр', 'Адрес', 'e-mail', 'Телефон');
$iq=db_select('TABLICA2','t2');
$iq->fields('cnt',array('FName','Address','mail','Phone' ));
$iq->condition('FName', $GLOBALS['Short'], '=');
$iq->condition('Address', $GLOBALS['Address'], '=');
$iq->orderBy('cnt.Address','asc');
$iresult=$iq->execute();
$irows=array();
while($irecord=$iresult->fetchAssoc())
{
$irows[]=array(array('data'=>$irecord['FName']), array('data'=>$irecord['Address']), array('data'=>$irecord['mail']), array('data'=>$irecord['Phone']),);
}
print theme('table', array('header' => $iheader, 'rows' => $irows));
?>
</div>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.