0 Пользователей и 1 Гость просматривают эту тему.
  • 16 Ответов
  • 364 Просмотров
*

megaboy161

  • Новичок
  • 9
  • 0 / 0
Добрый день, достался мне по наследству модуль вывода информации из БД, и его срочно надо оживить. А я в этом не особо понимаю, может кто сможет помочь.
не могу исправить Backend log: PHP Warning: Invalid argument supplied for foreach() in /var/www/user31926/data/www/vd.shakhty-duma.ru/modules/mod_yourdeputy/tmpl/default.php on line 12\n

Из за данного цикла

foreach ($list as $item ) {
// echo "<p> $i: $item->name id- $item->id </p>\n";
$arr[] = JHTML::_('select.option', $item['id'], JText::_($item['name']));
}

Не отображается корректно список улиц и домов. Кто сможет помочь
*

sivers

  • Завсегдатай
  • 1727
  • 237 / 0
Похоже, что $list в цикле не является массивом. Попробуйте добавить проверку перед циклом, вместо:
Код
foreach ($list as $item ) {
напишите:
Код
if(is_array($list)) foreach ($list as $item ) {

Корректней отображаться не начнет, но ошибка должна исчезнуть
На связи в телеге @sivers
https://sivers.su/
*

megaboy161

  • Новичок
  • 9
  • 0 / 0
В том то и дело что мне надо выводить информацию из БД а он этого упорно не знает делать
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
а ранее он работал?
после чего перестал?
*

megaboy161

  • Новичок
  • 9
  • 0 / 0
Да когда то он работал, потом сайт закрыли а сейчас спустя годы решили запустить заново этот модуль, только отдела который занимался сайтом и конкретно модулем нет уже давно и его передали мне а я вообще не знаю как его запустить
*

megaboy161

  • Новичок
  • 9
  • 0 / 0
Кто сможет помочь запустить плагин, не за бесплатно конечно же
*

megaboy161

  • Новичок
  • 9
  • 0 / 0
Да.

<?php
   
   // no direct access
   defined('_JEXEC') or die('Restricted access');

   class modyourdeputy
{
   function getListStreet()

   {
      //get database
      $db =& JFactory::getDBO();
      $query = 'SELECT id, name FROM `jos_street` ORDER BY name;';
      $db->setQuery($query, 0 );
      $lists = $db->loadObjectList();
       return $lists;
   }
   
}
?>
*

sivers

  • Завсегдатай
  • 1727
  • 237 / 0
А, вот. В хелпере $lists, а в макете в цикле $list.

Либо в макете поменяйте (в цикле) $list => $lists, либо в хелпере $lists => $list.
На связи в телеге @sivers
https://sivers.su/
*

megaboy161

  • Новичок
  • 9
  • 0 / 0
Исправил после чего модуль совсем полег.

Strict Standards: Non-static method modyourdeputy::getListStreet() should not be called statically in /var/www/user31926/data/www/vd.shakhty-duma.ru/modules/mod_yourdeputy/mod_yourdeputy.php on line 12

Strict Standards: Only variables should be assigned by reference in /var/www/user31926/data/www/vd.shakhty-duma.ru/modules/mod_yourdeputy/helper.php on line 12
*

sivers

  • Завсегдатай
  • 1727
  • 237 / 0
Исправил после чего модуль совсем полег.

Strict Standards: Non-static method modyourdeputy::getListStreet() should not be called statically in /var/www/user31926/data/www/vd.shakhty-duma.ru/modules/mod_yourdeputy/mod_yourdeputy.php on line 12

Strict Standards: Only variables should be assigned by reference in /var/www/user31926/data/www/vd.shakhty-duma.ru/modules/mod_yourdeputy/helper.php on line 12
Выкладывайте тогда целиком хелпер и макет
На связи в телеге @sivers
https://sivers.su/
*

megaboy161

  • Новичок
  • 9
  • 0 / 0
helper.php

Код
<?php
   
   // no direct access
   defined('_JEXEC') or die('Restricted access');

   class modyourdeputy
{
function getListStreet()

{
//get database
$db =& JFactory::getDBO();
$query = 'SELECT id, name FROM `jos_street` ORDER BY name;';
$db->setQuery($query, 0 );
$lists = $db->loadObjectList();
  return $lists;
}

}
?>

default.php

Код
<?php
    // no direct access
    defined('_JEXEC') or die('Restricted access');
 ?>
<div id="divStr" style="text-align: left; ">
<?php
// Формирую выпадающий спискок улиц
    $arr = array();
    $arr[] = JHTML::_('select.option',  '0', "Выберите улицу", 'value', 'text', $disable=true );

     foreach ($list as $item) {
      //echo "<p> $i:  $item->name id- $item->id </p>\n";
      $arr[] = JHTML::_('select.option', $item->id, JText::_($item->name));
     }

    echo  "<br/>";

     $currentValue = '0'; // текущее значение (например выбрано из БД)
     echo JHTML::_('select.genericlist', $arr, 'street','class="inputbox" size="1" onchange="process();"', 'value', 'text', $currentValue);
    echo  "<br/>";
    echo  "<br/>";

 ?>
    </div>

    <div id="myDiv" >     

    </div>

    <div id="myDivElement" >     
    </div>

<div id="divMessage" style="display: none; text-align: left; ">

<?php
        $arr1 = array();
        $arr1[] = JHTML::_('select.option',  '0', "Выберите № дома", 'value', 'text', $disable=true );
        $currentValue = '0'; // текущее значение (например выбрано из БД)
        echo JHTML::_('select.genericlist', $arr1, 'buildings', 'class="inputbox" size="1" onchange="process1();"', 'value', 'text', $currentValue);

 ?>

     </div>

     <div id="divInformation" style="display: none">
     
          <br/>
      <table width="200" border="0">
          <tr>
              <td><img src="modules/mod_yourdeputy/Picture/Btn/uch_.png" width="100" height="46" onClick="onPressBtnUch();" ></td>
              <td><img src="modules/mod_yourdeputy/Picture/Btn/okr.png" width="100" height="46" onClick="onPressBtnCounty();"></td>
              <td><img src="modules/mod_yourdeputy/Picture/Btn/dep.png" width="100" height="46" onClick="onPressBtnDeputy();"></td>
          </tr>
        </table>
           <br/>


          <div id="divUch" style="text-align: left; font-weight: bold;" >
          </div>           

          <div id="divMCounty" style="display: none;  font-weight: bold;">
          </div>

          <div id="divMDeputy" style="display: none; text-align: left; font-weight: bold;">
          </div>
   
     </div>


mod_youdeputy.php

Код
<?php

    defined('_JEXEC') or die('Restricted access');

    //Подключаем наш helper
   require_once (dirname(__FILE__).DS.'helper.php');
 
    echo "<script type='text/javascript' src='" . JURI::base() . "modules/mod_yourdeputy/js/mod_yourdeputy.js'></script>\n";



   $list = modyourdeputy::getListStreet();
   require(JModuleHelper::getLayoutPath('mod_yourdeputy'));


?>

GetBuildings.php

Код
<?php
require_once('config.php');

// load the error handling module
//require_once('error_handler.php');

// specify that we're outputting an XML document
  header('Content-Type: text/xml');
// calculate the the result
//$firstNumber = $_GET['firstNumber'];
//$result = $firstNumber;
// create a new XML document


$dom = new DOMDocument();


  // connect to the database
  $mMysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);   

  $idStreet = $_GET['firstNumber'];


  // what SQL query you want executed?
  $query = 'SELECT ID_Areas As Id_bui, Builds As Bui FROM jos_Buildings WHERE ID_Street =  '. (int) $idStreet ;


  // execute the query
  $result = $mMysqli->query($query); 

// Создаю элемент response

  $response = $dom->appendChild($dom->createElement('response'));

  while ($row = $result->fetch_array(MYSQLI_ASSOC))
  {

  $Buildings = $response->appendChild($dom->createElement('Buildings'));

  $RangeV = $row['Bui'];
  // $RangeV = iconv("WINDOWS-1251", "UTF-8", $RangeV);

  $Id = $Buildings->appendChild($dom->createElement('Id'));
  $Id->appendChild($dom->createTextNode($row['Id_bui']));
  $Range = $Buildings->appendChild($dom->createElement('Range'));
  $Range->appendChild($dom->createTextNode($RangeV));


  }

// build the XML structure in a string variable

$xmlString = $dom->saveXML();

// output the XML string
echo $xmlString;

  $dom->formatOutput = true;
  $dom->save('test2.xml');


  $result->close();
 
  // close the database connection
  $mMysqli->close();

?>

GetArea.php

Код
<?php
require_once('config.php');

// load the error handling module
//require_once('error_handler.php');

// specify that we're outputting an XML document
  header('Content-Type: text/xml');
// calculate the the result
//$firstNumber = $_GET['firstNumber'];
//$result = $firstNumber;
// create a new XML document
$dom = new DOMDocument();


  // connect to the database
  $mMysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);   

  $idArea = $_GET['firstNumber'];

// ***** Выбираю информацию по избирательному участку

  $query = 'SELECT nom AS nm, ADDRESS AS Addr, ID_MCOUNTY, ID_RCOUNTY, MapAreas, InfoAreas, PlaceAreas FROM jos_Areas WHERE ID =  '. (int) $idArea ;


  // execute the query
  $result = $mMysqli->query($query); 


// Создаю  XML элемент‚ response

  $response = $dom->appendChild($dom->createElement('response'));

// Создаю переменную $ID_MCOUNTY и $ID_RCOUNTY

  $ID_MCOUNTY = "";
  $ID_RCOUNTY = "";
 


  while ($row = $result->fetch_array(MYSQLI_ASSOC))
  {

    $Area = $response->appendChild($dom->createElement('Area'));
    $Address = $row['Addr'];
    // $Address = iconv("WINDOWS-1251", "UTF-8", $Address);
   
    $Nom = $Area->appendChild($dom->createElement('Nom'));
    $Nom->appendChild($dom->createTextNode($row['nm']));

    $ADDR = $Area->appendChild($dom->createElement('Address'));
    $ADDR->appendChild($dom->createTextNode($Address));

    $MapAreas = $Area->appendChild($dom->createElement('MapAreas'));
    $MapAreas->appendChild($dom->createTextNode($row['MapAreas']));

    $InfoAreas = $Area->appendChild($dom->createElement('InfoAreas'));   
    // $InfoAreas_ = iconv("WINDOWS-1251", "UTF-8", $row['InfoAreas']);
    // $InfoAreas->appendChild($dom->createTextNode($InfoAreas_));
    $InfoAreas->appendChild($dom->createTextNode($row['InfoAreas']));

    $PlaceAreas = $Area->appendChild($dom->createElement('PlaceAreas'));   
    // $PlaceAreas_ = iconv("WINDOWS-1251", "UTF-8", $row['PlaceAreas']);
    // $PlaceAreas->appendChild($dom->createTextNode($PlaceAreas_));
    $PlaceAreas->appendChild($dom->createTextNode($row['PlaceAreas']));

  $ID_MCOUNTY = $row['ID_MCOUNTY'];
  $ID_RCOUNTY = $row['ID_RCOUNTY'];

  }

  $result->close();
 


// ***** Выбираю информацию по депутатам муниципального уровня


  $query = 'SELECT NOM, STATUS, NAMEDEPUTY, MP1, ADRMP1, PRDN1, VRPR1, MP2, ADRMP2,
     PRDN2, VRPR2, PHONE, MAIL, DR, DOLG, OBRAZ, FOTO, InfoMCounty, VoterMCounty, MapMCounty FROM jos_MCounty WHERE ID =  '. (int) $ID_MCOUNTY ;

  // execute the query
  $result = $mMysqli->query($query); 

  while ($row = $result->fetch_array(MYSQLI_ASSOC))
  {

    $MCounty = $response->appendChild($dom->createElement('MCounty'));
   
    $Nom = $MCounty->appendChild($dom->createElement('Nom'));
    $Nom->appendChild($dom->createTextNode($row['NOM']));

    $STATUS = $MCounty->appendChild($dom->createElement('Status'));
    // $Status_ = iconv("WINDOWS-1251", "UTF-8", $row['STATUS']);
    // $STATUS->appendChild($dom->createTextNode($Status_));
    $STATUS->appendChild($dom->createTextNode($row['STATUS']));

    $NAMEDEPUTY = $MCounty->appendChild($dom->createElement('NameDeputy'));
    //$NameDep = iconv("WINDOWS-1251", "UTF-8", $row['NAMEDEPUTY']);
    //$NAMEDEPUTY->appendChild($dom->createTextNode($NameDep));
    $NAMEDEPUTY->appendChild($dom->createTextNode($row['NAMEDEPUTY']));

    $MP1 = $MCounty->appendChild($dom->createElement('Mp1'));   
    //$Mp_1 = iconv("WINDOWS-1251", "UTF-8", $row['MP1']);
    //$MP1->appendChild($dom->createTextNode($Mp_1));
    $MP1->appendChild($dom->createTextNode($row['MP1']));
   
    $ADRMP1 = $MCounty->appendChild($dom->createElement('AdrMp1'));   
    // $AdrMp_1 = iconv("WINDOWS-1251", "UTF-8", $row['ADRMP1']);
    // $ADRMP1->appendChild($dom->createTextNode($AdrMp_1));
    $ADRMP1->appendChild($dom->createTextNode($row['ADRMP1']));
   

    $PRDN1 = $MCounty->appendChild($dom->createElement('PrDn1'));   
    // $PrDn_1 = iconv("WINDOWS-1251", "UTF-8", $row['PRDN1']);
    // $PRDN1->appendChild($dom->createTextNode($PrDn_1));
    $PRDN1->appendChild($dom->createTextNode($row['PRDN1']));

    $VRPR1 = $MCounty->appendChild($dom->createElement('VrPr1'));   
    // $VrPr_1 = iconv("WINDOWS-1251", "UTF-8", $row['VRPR1']);
    // $VRPR1->appendChild($dom->createTextNode($VrPr_1));
    $VRPR1->appendChild($dom->createTextNode($row['VRPR1']));

    $MP2 = $MCounty->appendChild($dom->createElement('Mp2'));   
    // $Mp_2 = iconv("WINDOWS-1251", "UTF-8", $row['MP2']);
    // $MP2->appendChild($dom->createTextNode($Mp_2));
    $MP2->appendChild($dom->createTextNode($row['MP2']));

    $ADRMP2 = $MCounty->appendChild($dom->createElement('AdrMp2'));   
    // $AdrMp_2 = iconv("WINDOWS-1251", "UTF-8", $row['ADRMP2']);
    // $ADRMP2->appendChild($dom->createTextNode($AdrMp_2));
    $ADRMP2->appendChild($dom->createTextNode($row['ADRMP2']));

    $PRDN2 = $MCounty->appendChild($dom->createElement('PrDn2'));   
    // $PrDn_2 = iconv("WINDOWS-1251", "UTF-8", $row['PRDN2']);
    // $PRDN2->appendChild($dom->createTextNode($PrDn_2));
    $PRDN2->appendChild($dom->createTextNode($row['PRDN2']));

    $VRPR2 = $MCounty->appendChild($dom->createElement('VrPr2'));   
    // $VrPr_2 = iconv("WINDOWS-1251", "UTF-8", $row['VRPR2']);
    // $VRPR2->appendChild($dom->createTextNode($VrPr_2));
    $VRPR2->appendChild($dom->createTextNode($row['VRPR2']));

    $PHONE = $MCounty->appendChild($dom->createElement('Phone'));
    $PHONE->appendChild($dom->createTextNode($row['PHONE']));

    $MAIL = $MCounty->appendChild($dom->createElement('Mail'));
    $MAIL->appendChild($dom->createTextNode($row['MAIL']));

    $DR = $MCounty->appendChild($dom->createElement('Dr'));   
    // $Dr_ = iconv("WINDOWS-1251", "UTF-8", $row['DR']);
    // $DR->appendChild($dom->createTextNode($Dr_));
    $DR->appendChild($dom->createTextNode($row['DR']));

    $DOLG = $MCounty->appendChild($dom->createElement('Dolg'));   
    // $Dolg_ = iconv("WINDOWS-1251", "UTF-8", $row['DOLG']);
    // $DOLG->appendChild($dom->createTextNode($Dolg_));
    $DOLG->appendChild($dom->createTextNode($row['DOLG']));

    $OBRAZ = $MCounty->appendChild($dom->createElement('Obraz'));   
    // $Obraz_ = iconv("WINDOWS-1251", "UTF-8", $row['OBRAZ']);
    // $OBRAZ->appendChild($dom->createTextNode($Obraz_));
    $OBRAZ->appendChild($dom->createTextNode($row['OBRAZ']));

    $FOTO = $MCounty->appendChild($dom->createElement('Foto'));
    $FOTO->appendChild($dom->createTextNode($row['FOTO']));

    $InfoMCounty= $MCounty->appendChild($dom->createElement('InfoMCounty'));   
    // $InfoMCounty_ = iconv("WINDOWS-1251", "UTF-8", $row['InfoMCounty']);
    // $InfoMCounty->appendChild($dom->createTextNode($InfoMCounty_));
    $InfoMCounty->appendChild($dom->createTextNode($row['InfoMCounty']));

    $VoterMCounty= $MCounty->appendChild($dom->createElement('VoterMCounty'));   
    // $VoterMCounty_ = iconv("WINDOWS-1251", "UTF-8", $row['VoterMCounty']);
    // $VoterMCounty->appendChild($dom->createTextNode($VoterMCounty_));
    $VoterMCounty->appendChild($dom->createTextNode($row['VoterMCounty']));

    $MapMCounty = $MCounty->appendChild($dom->createElement('MapMCounty'));
    $MapMCounty->appendChild($dom->createTextNode($row['MapMCounty']));


  }

  $result->close();

// ***** Выбираю информацию по депутатам регионального уровня

  $query = 'SELECT NOM, STATUS, NAMEDEPUTY, RPHONE, DR, DOLG, OBRAZ, DP1, DP2,
      FOTO, PARTY FROM jos_RCounty WHERE ID = 2';
// '. (int) $ID_RCOUNTY ;

  // execute the query
  $result = $mMysqli->query($query); 

  while ($row = $result->fetch_array(MYSQLI_ASSOC))
  {
 
    $RCounty = $response->appendChild($dom->createElement('RCounty'));
    $Nom = $RCounty->appendChild($dom->createElement('Nom'));
    $Nom->appendChild($dom->createTextNode($row['NOM']));

    $STATUS = $RCounty->appendChild($dom->createElement('Status'));
    $Status_ = iconv("WINDOWS-1251", "UTF-8", $row['STATUS']);
    $STATUS->appendChild($dom->createTextNode($Status_));

    $NAMEDEPUTY = $RCounty->appendChild($dom->createElement('NameDeputy'));
    $NameDep = iconv("WINDOWS-1251", "UTF-8", $row['NAMEDEPUTY']);
    $NAMEDEPUTY->appendChild($dom->createTextNode($NameDep));




  }

  $result->close();



  // close the database connection
  $mMysqli->close();

// build the XML structure in a string variable

  $xmlString = $dom->saveXML();

// output the XML string
  echo $xmlString;

  $dom->formatOutput = true;
  $dom->save('test3.xml');

?>
« Последнее редактирование: 20.01.2020, 16:34:17 от megaboy161 »
*

draff

  • Гуру
  • 5351
  • 380 / 7
  • ищу работу
Strict Standards: Non-static method modyourdeputy::getListStreet() should not be called statically
Пропишите
Код
static function getListStreet()
Удалите чтобы было так
Код
 $db = JFactory::getDBO();
*

megaboy161

  • Новичок
  • 9
  • 0 / 0
Не помогло, сайт лег
*

draff

  • Гуру
  • 5351
  • 380 / 7
  • ищу работу
Включите в админке отображение ошибок на для разработчиков,
*

megaboy161

  • Новичок
  • 9
  • 0 / 0
включено
*

sivers

  • Завсегдатай
  • 1727
  • 237 / 0
Исправил после чего модуль совсем полег.
Верните исправления обратно - они там не нужны.
Добавьте в верхней части макета:
Код
print_r($list);
Это чтоб проверить, что данные приходят (после этого уберите). Если ничего не выведет, то надо точно так же проверить в хелпере между строк:
Код
$lists = $db->loadObjectList();
  return $lists;
добавить
Код
print_r($lists);
Если и здесь будет пусто, то открыть таблицу `jos_street` в БД (через phpMyAdmin или Adminer) и посмотреть не пустая ли она, не изменилась ли структура.
На связи в телеге @sivers
https://sivers.su/
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

AJAX для модуля на 1.5

Автор voland

Ответов: 2
Просмотров: 827
Последний ответ 04.03.2016, 12:08:41
от b2z
Как получить ID для каждого выводимого модуля на странице

Автор enshtein

Ответов: 6
Просмотров: 4830
Последний ответ 12.01.2012, 08:54:19
от enshtein
Модуля кнопка с кодом для Joomla 1.5 или Наш баннер,

Автор leo78

Ответов: 12
Просмотров: 7169
Последний ответ 19.12.2011, 00:35:25
от leo78
Создание модуля с выпадающим списком и кнопками

Автор Romik

Ответов: 2
Просмотров: 2137
Последний ответ 26.09.2010, 07:05:19
от danik.html
Типы параметров модуля/плагина - редактор как в mod_custom

Автор Kverde3

Ответов: 1
Просмотров: 1954
Последний ответ 09.09.2010, 18:57:42
от danik.html