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


Все данные таблицы отражать в отчетах


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

#1 kaganat

    Участник

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

Отправлено 25 Июнь 2015 - 10:18

Здравствуйте уважаемые.
Как перенести, те отражать в отчетах все данные таблицы?

#2 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 25 Июнь 2015 - 10:23

Слишком абстрактный вопрос. В каких отчетах, какие данные? Пример хотя бы приведите.

#3 kaganat

    Участник

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

Отправлено 25 Июнь 2015 - 10:34

Есть таблица с данными о заказах:
// Здесь подготовливаем данные для вывода в отчете
$sqlQuery="SELECT sum(f290) as sum FROM ".DATA_TABLE."300 WHERE f280='Процессор'";
$result = mysql_query($sqlQuery);
$row = mysql_fetch_array($result);
$data['sum'] = $row['sum'];
$data['ozu'] = $row['f260'];
$data['name'] = $row['f270'];

// Переносим переменные в отображение;
$smarty->assign("data", $data['sum']);
$smarty->assign("data", $data['ozu']);
$smarty->assign("data", $data['name']);

#4 kaganat

    Участник

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

Отправлено 25 Июнь 2015 - 10:39

<table class="mainTable" align="center" border="1" cellpadding="1" cellspacing="1" style="width: 500px;">
<tr>
<td>
Сумма</td>
<td>
ОЗУ</td>

<td>
Наименование</td>
</tr>
<tr>
<td>
{$data.sum}</td>
<td>
{$data.ozu}</td>

<td>
{$data.name}</td>
</tr>
</table>

На выходе пустой отчет.

#5 kaganat

    Участник

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

Отправлено 25 Июнь 2015 - 11:03

Подготовка данных
$sqlQuery = "SELECT * FROM ".DATA_TABLE."200";
$res = sql_query($sqlQuery);
$row = sql_fetch_array($res);
$data1 = $row['f210'];
$data2 = $row['f220'];
$data3 = $row['f230'];
$data4 = $row['f240'];
$smarty->assign("date1", $date1);
$smarty->assign("date2", $date2);
$smarty->assign("date3", $date3);
$smarty->assign("data4", $data7);

Отображение:
<table class="mainTable" align="center" cellspacing="0" cellpadding="0" style="width:70%; background-color:#F0F0F0;">
<tr>
<td>
Наименование</td>
<td>
Процессор</td>
<td>
ОЗУ</td>
<td>
Сумма</td>
</tr>
<tr>
<td>
{$data1}</td>
<td>
{$data2}</td>
<td>
{$data3}</td>
<td>
{$data4}</td>
</tr>
</table>

Показывает данные первого строка, причем только суммы.

#6 kaganat

    Участник

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

Отправлено 25 Июнь 2015 - 11:16

Sorry: $smarty->assign("data4", $data4);

#7 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 25 Июнь 2015 - 11:17

Цитата

Показывает данные первого строка

Так потому что у вас в подготовке данных из запроса берется только первая строка, и она же единственная передается в отображение. Если необходимо вывести несколько строк, используйте цикл по записям, вначале в подготовке, для формирования массива записей:

$sqlQuery = "SELECT * FROM ".DATA_TABLE."200";
$result = sql_query($sqlQuery);
while ($row = sql_fetch_array($result))
{
    $lines[] = $row;
}
$smarty->assign("lines", $lines);

а затем при выводе, в отображении данных:

<table class="mainTable" align="center" cellspacing="0" cellpadding="0" style="width:70%; background-color:#F0F0F0;">
<tr>
    <td>Наименование</td>
    <td>Процессор</td>
    <td>ОЗУ</td>
    <td>Сумма</td>
</tr>
{foreach from=$lines item=data}
<tr>
    <td>{$data.f210}</td>
    <td>{$data.f220}</td>
    <td>{$data.f230}</td>
    <td>{$data.f240}</td>
</tr>
{/foreach}
</table>


#8 kaganat

    Участник

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

Отправлено 25 Июнь 2015 - 11:25

Благодарю.

#9 kaganat

    Участник

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

Отправлено 25 Июнь 2015 - 11:47

Получилось, спс.
только где ОЗУ в свойстве указан как текст, но там значение в мегабайт числовые данные, в отображениях какие то левые данные выводит?

#10 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 25 Июнь 2015 - 12:17

Текст как вводится, так и хранится и выводится, вряд ли там что-то "левое" может выйти. Скорее всего вы сами перепутали что-то.

#11 kaganat

    Участник

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

Отправлено 25 Июнь 2015 - 12:28

не из того, что тип поля ОЗУ равно связь, что выводит какие то данные?

#12 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 25 Июнь 2015 - 14:27

Цитата

не из того, что тип поля ОЗУ равно связь

Так вы же сами выше написали что это "текст". Для полей связи это нормально, там хранится id связанной записи, т.е. чтобы вытащить нужное значение, необходим запрос к связанной таблице.

#13 ryskeldi

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

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

Отправлено 25 Июнь 2015 - 14:32

Спс, как это делается, sorry?

#14 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 25 Июнь 2015 - 14:51

Например так:

$sqlQuery = "SELECT * FROM ".DATA_TABLE."200";
$result = sql_query($sqlQuery);
while ($row = sql_fetch_array($result))
{
    $sqlQuery = "SELECT * FROM ".DATA_TABLE."111 WHERE id=".$row['f230']; // вместо 111 подставляете id связанной таблицы
    $result2 = sql_query($sqlQuery);
    $row2 = sql_fetch_array($result2);
    $row['f230'] = $row2['f222'];  // вместо 222 подставляете id нужного поля из связанной таблицы
    $lines[] = $row;
}
$smarty->assign("lines", $lines);


#15 kaganat

    Участник

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

Отправлено 26 Июнь 2015 - 05:50

Благодарю, получилось, Ураа!!!
Дай Вам Бог Здоровье, Удачи!

#16 kaganat

    Участник

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

Отправлено 26 Июнь 2015 - 06:43

Только выводит: и удаленные и архивные данные, где присобачить status? Плииз!!!

#17 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 26 Июнь 2015 - 09:28

$sqlQuery = "SELECT * FROM ".DATA_TABLE."200 WHERE status=0";


#18 kaganat

    Участник

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

Отправлено 26 Июнь 2015 - 12:03

СПС.





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

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