function get_conv_report_table_html($table_data) { $html = '<table>'; $html .= '<tr>'; $html .= '<td class="row_top">Номер заказа</td>'; $html .= '<td class="row_top inf_row">ТМП</td>'; $html .= '<td class="row_top inf_row">Ответственный инженер</td>'; $html .= '<td class="row_top inf_row">Неисправность</td>'; $html .= '<td class="row_top inf_row">Дата приема</td>'; $html .= '<td class="row_top inf_row">Статус</td>'; $html .= '<td class="row_top inf_row">Дата и время установки статуса</td>'; $html .= '</tr>'; // Обрабоатываем данные; foreach ($table_data as $key => $data_item) { // Стиль строки; if ($key % 2 != 0) { $class = 'row_1'; } else { $class = 'row_2'; } if (isset($data_item['marker'])) { switch ($data_item['marker']) { case 'MARK': $print = 'color: black;font-weight: bold;'; break; case 'ALERT': $print = 'color: red;font-weight: bold;'; break; } } else { $print = ''; } $html .= '<tr>'; $html .= '<td class="' . $class . ' numm_info" style="' . $print . '" align="center">' . $data_item['numm'] . '</td>'; $html .= '<td class="' . $class . ' inf_row" align="center">' . $data_item['tu'] . ' / ' . $data_item['model'] . ' / ' . $data_item['torg'] . '</td>'; $html .= '<td class="' . $class . ' inf_row" align="center">' . get_user_full_name(0, $data_item['inj']) . '.</td>'; $html .= '<td class="' . $class . ' inf_row" align="left" width="200px">' . $data_item['a1'] . '</td>'; $html .= '<td class="' . $class . ' inf_row" align="center">' . get_local_date_time($data_item['date1'], 1) . '</td>'; $html .= '<td class="' . $class . ' inf_row" align="left">' . get_status_name($data_item['status']) . '</td>'; // Для того что бы определить время установки статуса, нам надо перебрать весь dvj этого заказа; $dvj_array = explode("\r\n", $data_item['dvj']); foreach ($dvj_array as $dvj_item) { // Проверяем, содежит ли эта строка данные; if (find_text(get_status_name($data_item['status']), $dvj_item)) { // Если мы нашли такой текст, выводим эту строку для начала; $dvj_temp = explode('|', $dvj_item); } } $html .= '<td class="' . $class . ' inf_row" align="center">' . get_local_date_time($dvj_temp[0], 1) . '</td>'; $html .= '</tr>'; } $html .= '</table>'; return $html; }
$data_lines = explode("\n", $sql_data); foreach ($data_lines as $key => $value) { $value = trim($value); if (non_table_info($value)) { unset($data_lines[$key]); } } // Add table structure if (preg_match('/TABLE .+/', $sql_data, $matches)) { $table_name = find_text($matches[0]); $table = array(); $table['id_key'] = get_primary_key($sql_data); foreach ($data_lines as $line) { if (strpos(trim($line), '`') === 0) { // this line has a column $col = find_text(trim($line)); $datetime = stripos($line, 'DATETIME'); $date = !$datetime && stripos($line, 'DATE'); $table['columns'][$col] = array('bool' => stripos($line, 'INT(1)') || stripos($line, 'TINYINT(1)'), 'blob' => stripos($line, 'TEXT') || stripos($line, 'BLOB'), 'date' => $date, 'datetime' => $datetime); } } $project['tables'][$table_name] = $table; $did_scaffold = true; } } // foreach table if ($did_scaffold) { /* Create directory layout if not exists */ $dir = "tmp/{$project['project_name']}/"; $statics = 'lib/statics/'; if (!is_dir($dir)) {
$table['new_page'] = stripslashes($_COOKIE['new_page']); $table['delete_page'] = stripslashes($_COOKIE['delete_page']); $table['include'] = stripslashes($_COOKIE['include']); $table['id_key'] = trim($_COOKIE['id_key']); if ($table['id_key'] == '') $table['id_key'] = 'id'; // get first table name if ( eregi('CREATE TABLE `(.)+` \(', $data, $matches) ) { $table['name'] = find_text($matches[0]); $max = count($data_lines); for ($i = 1; $i < $max; $i++ ) { if ( strpos( trim($data_lines[$i]), '`') === 0) { // this line has a column $col = find_text(trim($data_lines[$i])); $blob = ( stripos($data_lines[$i], 'TEXT') || stripos($data_lines[$i], 'BLOB') ) ? 1 : 0; $datetime = ( stripos($data_lines[$i], 'DATETIME') ) ? 1 : 0; eval( "\$table['$col'] = array('blob' => $blob, 'datetime' => $datetime );"); } } $show_form = 1; //print_r($table); } else {