Перейти к содержимому


Вывод компаний на сайт


Сообщений в теме: 8

#1 jazvenko

    Активный участник

  • Пользователи
  • PipPipPip
  • 224 сообщений

Отправлено 15 Сентябрь 2012 - 19:18

Добрый день,

Подскажите как вывести список своих компаний филиалов на сайт? Желательно с возможностью фильтрации по параметрам

#2 Гость_Roman_*

  • Гости

Отправлено 17 Сентябрь 2012 - 10:35

Подключаетесь к БД в КБ и выполняете выборку из таблицы запросом SELECT.

#3 jazvenko

    Активный участник

  • Пользователи
  • PipPipPip
  • 224 сообщений

Отправлено 17 Сентябрь 2012 - 10:54

Подскажите как
Подключаетесь к БД в КБ
??? Может через форму как то можно? Или через тоже средство что в КБ отчеты сделаны только как вывести это потом на сайт?

#4 Гость_Roman_*

  • Гости

Отправлено 17 Сентябрь 2012 - 11:02

Как вариант - создаёте представление, которое будет генерировать html-страничку в папке cache КБ. На эту страничку делаете ссылку с сайта либо вставляете фрейм на сайт. Правда, при любом изменении в нужной таблице, необходимо будет каждый раз обращаться к этому отчёту для перегенерации странички.

#5 jazvenko

    Активный участник

  • Пользователи
  • PipPipPip
  • 224 сообщений

Отправлено 27 Сентябрь 2012 - 04:32

Представление создали, но в кеше ничего не появляется. Где должно быть?

#6 Гость_Roman_*

  • Гости

Отправлено 27 Сентябрь 2012 - 09:23

Можете привести код отчёта в подготовке данных?

#7 Save

    Активный участник

  • Пользователи
  • PipPipPip
  • 69 сообщений

Отправлено 03 Октябрь 2012 - 12:05

Просмотр сообщенияjazvenko (15 Сентябрь 2012 - 19:18) писал:

Добрый день,

Подскажите как вывести список своих компаний филиалов на сайт? Желательно с возможностью фильтрации по параметрам

Кой че сваял.

  if ($_REQUEST['_type'])
    {
	  reset_filters(43);
	  set_filter(839, "=", form_input($_REQUEST['_company']));
	  header("Location: ".$config["site_root"]."/fields.php?table=43");
    }
 
  $sqlQuery = "SELECT * FROM ".DATA_TABLE."43 GROUP BY f839";
  $result = mysql_query($sqlQuery) or die(mysql_error()."<br>".$sqlQuery);
  while ($row = mysql_fetch_array($result))
    {
	  $data['company'] = $row['f839'];
	 
	  $sqlQuery = "SELECT * FROM ".DATA_TABLE."42 WHERE id='".$data['company']."'";
	  $result2 = mysql_query($sqlQuery) or die(mysql_error()."<br>".$sqlQuery);
	  $row2 = mysql_fetch_array($result2);
	  $data['company_name'] = $row2['f435'];
	  $data['full_name'] = form_display($row2['f439']);
	 
	  $lines[] = $data;
    }
  $sqlQuery = "SELECT `color3` FROM `".SCHEMES_TABLE."` WHERE `active`='1'";
  $result = sql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
  $row = mysql_fetch_assoc($result);
  if ($_REQUEST['xsl'] == 1)
    {
	  $xsl = "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"></head><body>\r\n";
	  $xsl .= "<table cellspacing=\"0\" cellpadding=\"3\" border=\"1\">\r\n";
	  $xsl .= "<tr><td width=\"150\" style=\"text-align: center\" align=\"center\"><b>Компании, с которыми мы работаем</b></td></tr>\r\n";
	  $pos = 1;
	  foreach ($lines AS $data)
	    {
		  if ($pos % 2)
		    {
			  $xsl .= "<tr><td style=\"background-color: #d0d0d0; text-align: center\" bgcolor=\"#d0d0d0\" align=\"center\">".$data['company_name']."</td></tr>\r\n";
		    }
		  else
		    {
			  $xsl .= "<tr><td style=\"text-align: center\" align=\"center\">".$data['company_name']."</td></tr>\r\n";
		    }
		  $pos += 1;
	    }
	  $xsl .= "</table></body></html>";
	  echo $xsl;
	  file_put_contents('1.html',$xsl);
	  exit;
    }
  else
    {
	  $smarty->assign("color3", $row['color3']);
	  $smarty->assign("date1", $date1);
	  $smarty->assign("date2", $date2);
	  $smarty->assign("prev_date", $prev_date);
	  $smarty->assign("cur_date", $cur_date);
	  $smarty->assign("lines", $lines);
    }


Этот код нужно заменить на тот, который у вас сейчас в Конфигурация -> Отчеты -> Доходы по компаниям -> Подготовка данных: Редактировать. Заменяете и сохраняете.

Затем идете в отчеты, нажимаете доходы по компаниям и экспорт в эксель. Файл сохр. под названием 1.html, а на экран выводится содержимое этого файла. Если прав не будет хватать, поставьте их.

Здесь будут выводиться компании, которым вы выставили счета.
Дальше допилите сами, как вашей душе угодно.

Делал в демонстрационной версии, но вроде должно норм работать.

#8 Save

    Активный участник

  • Пользователи
  • PipPipPip
  • 69 сообщений

Отправлено 03 Октябрь 2012 - 12:07

Ой, вы хотели свои компании вывести, думал, клиентов. Надо будет выбирать тогда другие таблицы.

#9 jazvenko

    Активный участник

  • Пользователи
  • PipPipPip
  • 224 сообщений

Отправлено 03 Октябрь 2012 - 19:59

И это при обновлении информации постоянно нужно будет экспортироват? Не. Такой вариант не подходит. По сути нужен доступ к указанным мной таблицам, как например у "клиентов", но только вообще без ввода пароля! Тоесть дать всем пользователям доступ к одной таблице поставить права толок просомтр и все. А лучше конечно вывести её прям на сайт.





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных