PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (2): [1] 2 »
Найдено сообщений: 26
Alexander Goryachij
Отправлено: 13 Мая, 2013 - 13:58:25 • Тема: загрузка csv • Форум: SQL и Архитектура БД
Ответов: 4 Просмотров: 42
Здравствуйте, пользуюсь данным скриптом для загрузки csv файлов, проблема в том что не могу загрузить файл содержащий более 100 строк, подскажите как его перенастоить
PHP:
скопировать код в буфер обмена
<?PHP
header ( 'Content-Type: text/html; charset=UTF-8' ) ; include "connect.php" ;
//===========================================================
//проверяем загрузку файла на наличие ошибок
if ( $_FILES [ 'filename' ] [ 'error' ] > 0)
{
switch ( $_FILES [ 'uploadfile' ] [ 'error' ] )
{
case 1: echo 'Размер файла превышает допустимое значение UPLOAD_MAX_FILE_SIZE' ; break ;
case 2: echo 'Размер файла превышает допустимое значение MAX_FILE_SIZE' ; break ;
case 3: echo 'Не удалось загрузить часть файла' ; break ;
case 4: echo 'Файл не был загружен' ; break ;
case 6: echo 'Отсутствует временная папка.' ; break ;
case 7: echo 'Не удалось записать файл на диск.' ; break ;
case 8: echo 'PHP-расширение остановило загрузку файла.' ; break ;
}
}
//папка для загрузки
$uploaddir = '/tmp' ;
//новое сгенерированное имя файла
$newFileName = date ( 'YmdHis' ) . rand ( 10 , 100 ) . '.csv' ; //путь к файлу (папка.файл)
$uploadfile = $uploaddir . $newFileName ;
//загружаем файл move_uploaded_file
echo "Выбранный файл успешно загружен.\n " ;
else
echo "Ошибка загрузки файла.\n " ;
//считываем содержания файла
$fp = fopen ( $uploadfile , 'r' ) ; //чистим от php и html дескрипторов
$fp = fopen ( $uploadfile , 'w' ) ; // обрабатываем csv для импорта
$separator = ";" ;
$fop = fopen ( $uploadfile , "r+" ) ; $i = 0 ;
{
$read = fgets ( $fop , 3000
) ; $date_change ,
$burning ,
$hp10_gamma ,
$hp_surface ,
$hp007 ,
$hp10_n ,
$date ,
$time ,
$reader ,
$operator ) = split ( $separator , $read ) ; `dosim_num`='" . $dosim_num . "',
`date_change`='" . $date_change . "',
`burning`='" . $burning . "',
`hp10_gamma`='" . $hp10_gamma . "',
`hp_surface`='" . $hp_surface . "',
`hp007`='" . $hp007 . "',
`hp10_n`='" . $hp10_n . "',
`date`='" . $date . "',
`time`='" . $time . "',
`reader`='" . $reader . "',
`operator`='" . $operator . "'" ) ;
$i ++;
}
echo "Импортировано записей: " . $i
?>
Alexander Goryachij
Отправлено: 11 Апреля, 2013 - 14:14:42 • Тема: mysql query описание запроса • Форум: SQL и Архитектура БД
Ответов: 12 Просмотров: 66
спс, попробую
(Добавление)
imya пишет: SELECT * FROM `perehod` WHERE thum = null ?
это все и так понятно, этих 'tnum' в таблице много, вот сколько
а меня интересуют только те, которые перечислены в моем запросе..
Alexander Goryachij
Отправлено: 11 Апреля, 2013 - 11:14:41 • Тема: mysql query описание запроса • Форум: SQL и Архитектура БД
Ответов: 12 Просмотров: 66
Здравствуйте, есть такой запрос, хочу чтоб после его обработки я мог увидеть те 'tnum' по которым информация не предоставилась (например такого номера нет в таблицах и т.д...)
подскажите или дайте ссылку на источник
CODE (
SQL ):
скопировать код в буфер обмена
SELECT * FROM `perehod` WHERE tnum IN
( 35742, 7589, 689, 3805, 788, 31125, 35123, 8583, 35735, 52261,
31016, 2663, 3449, 31154, 8556, 35331, 7833, 6670, 1554, 51796, 2219,
31015, 7471, 2997, 5743, 35349, 12112, 8125, 7720, 6639, 828, 4449, 5627,
30353, 7582, 6600, 8319, 4066, 34083, 37105, 7831, 7866, 8736, 3295, 6511,
51509, 1906, 36190, 12049, 30459, 6226, 30304, 7757, 7306, 36347, 2849, 1385,
3904, 7683, 51546, 35533, 870, 4098, 3349, 50163, 3920, 1260, 6792, 8256, 9131,
3729, 1602, 36836, 33023, 6109, 37032, 34860, 7498, 35179, 30524, 4388,
31543, 5737, 4159, 883, 35793, 10822, 30497, 31649, 4357, 32581, 8048, 199,
30788, 30798, 5079, 860, 31914, 4839, 5255, 1823, 32970, 51530, 30333,
37278, 129, 8704, 31889, 36262, 31542, 3868, 3726, 31891, 2261, 7462, 36223,
7497, 4399, 35628, 50772, 35167, 4398, 31518, 6516, 7572, 36683,
4271, 4678, 3696, 2353, 5415, 628, 44618, 5719, 35686, 4387, 1445, 31348,
8814, 30354, 36703, 6507, 31260, 37138, 36256, 30114, 31079, 9333,
5396, 31021, 731, 36689, 3378, 7763, 31890, 8199, 36272, 3852, 8777,
7446, 2742, 7752, 31720, 36511, 32181, 31334, 7124, 7307, 31304, 35200,
7528, 37279, 36694, 3194, 37411, 37385, 861, 190, 31706, 4708, 35113, 35178,
1071, 4425, 6295, 7974, 1070, 9249, 1050, 50915, 8850, 1486, 8155,
1246, 30898, 35759, 1073, 1245, 8256, 37087, 36811, 4303, 571, 4064, 7523,
31708, 3135, 4308, 35664, 5844, 1080, 30427, 9816, 35368, 9679, 1337,
128, 30623, 3477, 36316, 51296, 3083, 3428, 31258, 4606, 35561, 10902,
7392, 2307, 7728, 4801, 31152, 664, 9545, 1090, 37454, 51537, 31778, 31122,
1101, 3170, 35817, 30141, 2767, 8171, 37261, 37294, 36647, 2344, 36986,
35963, 31459, 1104, 2956, 32740, 9268, 4935, 3835, 6060, 36102, 35260, 31705,
3929, 5431, 8333, 7663, 5184, 1118, 4230, 1269, 52047, 52030, 7335,
37029, 4461, 35197, 31206, 31263, 8718, 35905, 32415, 1202, 30598, 5297,
2216, 4713, 3373, 1838, 7419, 7238, 44278, 33783, 7869, 44028, 36559, 3719,
5894, 4622, 665, 8602, 30351, 30421, 2197, 35956, 3897, 44120, 398, 4213, 8618, 30426,
50757, 30118, 5660, 37266, 36538, 2543, 30948, 30783, 31119, 8080, 36537,
30459, 31291, 7540, 2040, 30278, 5715, 4757, 31056, 7343, 5390, 5058, 7069,
31966, 6564, 1049, 7806, 7755, 35631, 36891, 4760, 7108, 6320, 7867, 36540,
6411, 6986, 4834, 8744, 2654, 31351, 5983, 8006, 8255, 1281, 33293, 3026,
30297, 6473, 31694, 3778, 50776, 1281, 5711, 30707, 35073, 6080, 8345,
31947, 34909) ORDER BY tnum
Alexander Goryachij
Отправлено: 05 Апреля, 2013 - 10:49:28 • Тема: Сократить запись • Форум: SQL и Архитектура БД
Ответов: 2 Просмотров: 25
LIME пишет: http://dev.mysql.com/doc/refman/5.6/en/string-functions.html#function_substr
спс!
сделал такCODE (
SQL ):
скопировать код в буфер обмена
SELECT pers. tnum,
pers. surname,
LEFT ( pers. name, 1) ,
LEFT ( pers. secondname, 1) ,
perehod. department
FROM pers, perehod
WHERE pers. tnum = perehod. tnum
AND perehod. department = 'ЦТАИ'
Alexander Goryachij
Отправлено: 05 Апреля, 2013 - 08:43:13 • Тема: Сократить запись • Форум: SQL и Архитектура БД
Ответов: 2 Просмотров: 25
Здравствуйте, подскажите как сократить запись до одного символа
Запросом достаю из mysql инф. о персонале... ФИО записаны полностью, требуется получить на выходе только первую букву имени (pers.name) и отчества (pers.secondname). Как я могу это сделать???
Можно просто ссылку на источник
PHP:
скопировать код в буфер обмена
$query = "SELECT pers.tnum,
pers.surname,
pers.name,
pers.secondname,
perehod.department
FROM pers, perehod
WHERE pers.tnum = perehod.tnum
AND perehod.department = 'ЦТАИ'" ;
{
echo "
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
<title>Бейджи</title>
<style type='text/css'>
TABLE {
border-collapse: collapse; /* Убираем двойные линии между ячейками */
width: 127px; /* Ширина таблицы */
}
TH {
background: #0000; /* Цвет фона ячейки */
text-align: center; /* Выравнивание по левому краю */
}
TD {
background: #fff; /* Цвет фона ячеек */
text-align: center; /* Выравнивание по центру */
}
TH, TD {
border: 2px solid black; /* Параметры рамки */
padding: 0px; /* Поля вокруг текста */
}
</style>
<body>
<table>
<tr><th><FONT face='Verdana' size='1'>$bg[0] </th></FONT></tr>
<tr><th><FONT face='Verdana' size='1'>$bg[1] $bg[2] . $bg[3] .</FONT></th></tr>
<tr><th><FONT face='Verdana' size='1'>$bg[4] </FONT></th></tr>" ;
}
echo "</table>" ;
Alexander Goryachij
Отправлено: 19 Марта, 2013 - 10:31:55 • Тема: Cоздать файл MS Excel • Форум: SQL и Архитектура БД
Ответов: 0 Просмотров: 12
Здравствуйте, имеется такой скрипт, выводящий результат запроса на страницу...
Подскажите, пожалуйста, что и где нужно дописать, что б я мог преобразовать его в ms excel.
PHP:
скопировать код в буфер обмена
<link rel="stylesheet" type="text/css" href="style.css" />
<?PHP
include_once "connect.php" ;
include "func.php" ;
$start_date = $_POST [ start_date_cur] ;
$end_date = $_POST [ end_date_cur] ;
$start_date_pr = $_POST [ start_date_cur] ;
$sd_prev = new DateTime( $start_date_pr ) ;
$sd_prev -> modify ( "-1 months" ) ;
$start_date_prev = $sd_prev -> format ( 'Y-m-d' ) ;
$end_date_pr = $_POST [ end_date_cur] ;
$ed_prev = new DateTime( $end_date_pr ) ;
$ed_prev -> modify ( "-1 months" ) ;
$end_date_prev = $ed_prev -> format ( 'Y-m-d' ) ;
$year = substr ( $_POST [ start_date_cur
] , 0 , 4 ) . "-01-01" ;
//===================================================================
if ( isset ( $_POST [ 'rados' ] ) && $_POST [ 'rados' ] == 'Yes' ) {
echo '<span style = "color:#363636">' ;
printf ( "<h4><center><FONT face='Lucida Console'> ----------, за период с %s по %s и предыдущий месяц.</FONT></center></h4>" , $start_date , $end_date ) ;
echo '<FONT face="Lucida Console">--------- ---------,' ;
echo "<br>" ;
echo '<FONT face="Lucida Console">----------------.</FONT>' ;
echo "<br>" ;
echo "<FONT face='Lucida Console'>Текущая дата " . date ( "Y-m-d" ) . "<br></FONT>" ; echo "<FONT face='Lucida Console'>Текущее время " . date ( "H:i" ) ; echo "<br>" ;
echo "<br>" ;
echo "<span style='color:#4f94cd; font-size: 110%'></span><table border = '1'>
<tr><td>№</td><td>Подразделение</td><td>СК</td><td>------- номер</td><td>Фамилия</td>
<td>Имя</td><td>Отчество</td><td>Пол</td><td>Возраст</td><td>TLD 1</td><td>TLD 2</td><td>Признак</td>
<td>----- начала года----</td><td>------ предыдущий месяц-----</td>
<td>------ текущий месяц, ---</td></tr>" ; -
$query = "SELECT
perehod.department,
perehod.aux_build,
dose_rados.tnum,
pers_idk.surname,
pers_idk.name,
pers_idk.secondname,
pers_idk.birthday,
pers_idk.sex,
tld_num.tld_1,
tld_num.tld_2,
tld_num.priznak,
sum( dose_rados.hp10_gamma ) AS dose_summa
FROM dose_rados, tld_num, perehod, pers_idk
WHERE dose_rados.date_change BETWEEN '$year ' AND '$end_date '
AND ( dose_rados.date_change <= perehod.date_out OR perehod.date_out IS NULL )
AND dose_rados.tnum = tld_num.tnum AND perehod.tnum = pers_idk.tnum
AND pers_idk.tnum = dose_rados.tnum GROUP BY tnum HAVING dose_summa >=10" ;
$Nu = 1 ;
{
$query = "select sum(hp10_gamma)from dose_rados where (dosim_num='$s[8] ' or dosim_num='$s[9] ') and
date_change>='$start_date ' and date_change<='$end_date '" ;
$dose_m = round ( $dose_m [ 0
] , 4
) ;
$query = "select sum(hp10_gamma)from dose_rados where (dosim_num='$s[8] ' or dosim_num='$s[9] ') and
date_change>='$start_date_prev ' and date_change<='$end_date_prev '" ;
$dose_m_pr = round ( $dose_m_pr [ 0
] , 4
) ;
$query = "select sum(hp10_gamma)from dose_rados where (dosim_num='$s[8] ' or dosim_num='$s[9] ') and
date_change>='$year ' and date_change<='$end_date '" ;
$dose_y = round ( $dose_y [ 0
] , 4
) ;
echo "<tr><td>$Nu </td><td>$s[0] </td><td>$s[1] </td><td>$s[2] </td><td>$s[3] </td><td>$s[4] </td><td>$s[5] </td>
<td>$s[7] </td><td>$age </td><td>$s[8] </td><td>$s[9] </td><td>$s[10] </td><td>$dose_y </td><td>$dose_m_pr </td>
<td>$dose_m </td></tr>" ;
$Nu ++;
}
echo "</table>" ;
echo "<br>" ;
echo "<br>" ;
}
echo "</table>" ;
}
?>
Alexander Goryachij
Отправлено: 13 Марта, 2013 - 07:52:20 • Тема: 1109 - Unknown table 'id' in MULTI DELETE • Форум: SQL и Архитектура БД
Ответов: 4 Просмотров: 62
Спасибо! но не сработало...
в table1 есть строки идентичные table2, из table1 их нужно удалить, а в table2 они должны остаться... снова эта ошибка Unknown table ' ' in MULTI DELETE
структура таблиц
== Table structure for table table1
|------
|Field|Type|Null|Default
|------
|id|int(11)|Yes|NULL
|date|date|Yes|NULL
|num|float(8,4)|No|
|date_op|date|Yes|NULL
|time_op|time|Yes|NULL
|operator|text|No|
== Table structure for table table2
|------
|Field|Type|Null|Default
|------
|id|int(11)|Yes|NULL
|date|date|Yes|NULL
|num|float(8,4)|No|
|date_op|date|Yes|NULL
|time_op|time|Yes|NULL
|operator|text|No|
Alexander Goryachij
Отправлено: 21 Февраля, 2013 - 09:00:46 • Тема: HELP!!! mysql query • Форум: SQL и Архитектура БД
Ответов: 2 Просмотров: 21
Здравствуйте помогите написать запрос.
perehod.department - это подразделение
count( DISTINCT perehod.num ) AS pers - количество персонала в каждом подразделении
sum( doz_tld.znachenie ) AS znachenie - суммарное значение для всего персонала в отдельно взятом подразделении.
вот здесь CODE (
SQL ):
скопировать код в буфер обмена
WHERE perehod. department
IN (
'1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , '10' , '11' , '12' , '13' , '14' , '15' , '16' , '17'
)
требуется получить значения по каждому подразделению в отдельности:
вот как то так
1 ; 54 ; 45.05
2 ; 102 ; 98.04
3 ; 351 ; 225.15
и т.д...
( IN на '=' уже менял )
CODE (
SQL ):
скопировать код в буфер обмена
SELECT DISTINCT perehod. department, count( DISTINCT perehod. num ) AS pers, sum( doz_tld. znachenie ) AS znachenie
FROM perehod, doz_tld
WHERE perehod. department
IN (
'1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , '10' , '11' , '12' , '13' , '14' , '15' , '16' , '17'
)
AND perehod. date_out IS NULL
AND perehod. num = doz_tld. num
AND doz_tld. date
BETWEEN '2012-01-01'
AND '2012-03-31'
структура таблиц
== Table structure for table perehod
|------
|Field|Type|Null|Default
|------
|num|int(11)|Yes|NULL
|enterprise|text|No|
|department|text|Yes|NULL
|aux_build|int(11)|No|
|trip|tinyint(1)|No|
|category|text|No|
|critical_group|tinyint(1)|No|
|cassette|int(11)|Yes|NULL
|shop|text|Yes|NULL
|post|text|Yes|NULL
|date_in|date|Yes|NULL
|date_out|date|Yes|NULL
|conditions|text|Yes|NULL
|date_op|date|Yes|NULL
|time_op|time|Yes|NULL
|operator|text|No|
-------------------------------- ------------------------
== Table structure for table doz_tld
|------
|Field|Type|Null|Default
|------
|num|varchar(11)|Yes|NULL
|date|date|Yes|NULL
|znachenie|float(8,4)|No|
|date_op|date|Yes|NULL
|time_op|time|Yes|NULL
|operator|text|No|
Alexander Goryachij
Отправлено: 19 Февраля, 2013 - 14:24:17 • Тема: Warning mysql_fetch_row(): supplied argument is not a valid MySQL result resource in...on line 67 • Форум: SQL и Архитектура БД
Ответов: 3 Просмотров: 31
Здравствуйте, ошибка в коде на строке 67. Помогите найти решение
PHP:
скопировать код в буфер обмена
<link rel="stylesheet" type="text/css" href="style.css" />
<?PHP
include_once "connect.php" ;
include "func.php" ;
$shops = array ( "ЭЦ" , "ЭРП" , "ЭП" , "ЦТПК" , "ЦТАИ" , "ЦСДТУ" , "ЦРБ" , "ЦД" , "ХЦ" , "УТЦ" , "УВАГР" , "УПРАВЛ" , "УОНиОТ" , "ТЦ" , "СЭЗиС" , "СФЗ" , "СОТ" , "СООС" , "СКМ" , "СГСЭР" , "СГМ" , "СГД" , "СГТ" , "СВНиПБ" , "СВ ЭРП" , "РУ УС" ,
"ПТС" , "ОЯБ" , "ОТК" , "ОППР" , "ОНиОЭ" , "ВРХЛ" , "КОМАНД" , "АЭС" ) ;
//----------------------------------------------------------------------------
//Подсчитываем суммарную дозу по ТЛД
$start_date = $_POST [ start_date2] ;
$end_date = $_POST [ end_date2] ;
$year = substr ( $_POST [ start_date2
] , 0 , 4 ) . "-01-01" ; //Начало отчетного года echo "<h3>Дозы персонала в текущем квартале, с $_POST[start_date2] до $_POST[end_date2] </h3>" ;
echo "<table border = '2'>" ;
echo "<tr><td>Подразделение</td>
<td>Количество лиц</td>
<td>С начала года: менее 1мЗв</td>
<td>1-2 мЗв</td>
<td>2-6 мЗв</td>
<td>6-10 мЗв</td>
<td>10-15 мЗв</td>
<td>15-20 мЗв</td>
<td>20-30 мЗв</td>
<td>30-50 мЗв</td>
<td>более 50 мЗв</td>
<td>Коллективная доза, мЗв*чел</td>
<td>Средняя доза, мЗв</td></tr>" ;
foreach ( $shops as $s )
{ echo "<tr>" ;
echo "<td> $s </td>" ;
//Коллективная доза
$query = shop_dose( $_POST [ start_date2] , $_POST [ end_date2] , $s ) ;
$sql = "SELECT SUM(a.dose) FROM $query " ;
$dose = round ( $result [ 0
] , 3
) ; //Количество контролируемых лиц
$sql = "SELECT count(distinct a.tnum) FROM $query " ;
$count_tld = $result2 [ 0] ;
//Распределение доз по величинам
$sql = distrib_dose( $year , $_POST [ end_date2] , $s ) ;
$a = array ( 0
, 0
, 0
, 0
, 0
, 0
, 0
, 0
, 0
) ; {
if ( $r [ 0] < 1. 0) : $a [ 0] ++;
elseif ( $r [ 0] >= 1. 0 AND $r [ 0] < 2. 0) : $a [ 1] ++;
elseif ( $r [ 0] >= 2 AND $r [ 0] < 6) : $a [ 2] ++;
elseif ( $r [ 0] >= 6 AND $r [ 0] < 10) : $a [ 3] ++;
elseif ( $r [ 0] >= 10 AND $r [ 0] < 15) : $a [ 4] ++;
elseif ( $r [ 0] >= 15 AND $r [ 0] < 20) : $a [ 5] ++;
elseif ( $r [ 0] >= 20 AND $r [ 0] < 30) : $a [ 6] ++;
elseif ( $r [ 0] >= 30 AND $r [ 0] < 50) : $a [ 7] ++;
elseif ( $r [ 0] >= 50) : $a [ 8] ++;
endif ;
}
// по RADOS
$query = shop_dose_rados( $start_date , $end_date , $s ) ;
$dose_rados = round ( $result [ 0
] , 3
) ; //Количество контролируемых лиц по RADOS
$query = count_dose_rados( $start_date , $end_date , $s ) ;
$count_rados = $res2 [ 0] ;
//Количество контролируемых:
$pers_count = $count_tld + $count_rados ;
echo "<td> $pers_count </td>" ;
//Общая доза
$dose = $dose + $dose_rados ;
//Распределение доз
foreach ( $a as $d ) echo "<td>$d </td>" ;
echo "<td> $dose </td>" ;
//Средняя доза
$average_dose = round ( $dose / $pers_count , 3
) ; echo "<td> $average_dose </td>" ;
echo "</tr>" ;
// $summ_dose+=$dose;
// $summ_pers+=$pers_count;
}
echo "</table>" ;
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//Женщины до 45 лет
echo "<h3>Дозы женщин до 45 лет в текущем квартале, с $_POST[start_date2] до $_POST[end_date2] </h3>" ;
echo "<table border = '2'>" ;
echo "<tr><td>Подразделение</td>
<td>Количество лиц</td>
<td>С начала года: менее 1мЗв</td>
<td>1-2 мЗв</td>
<td>2-6 мЗв</td>
<td>6-10 мЗв</td>
<td>более 10 мЗв</td>
<td>Коллективная доза, мЗв*чел</td>
<td>Средняя доза, мЗв</td></tr>" ;
foreach ( $shops as $s )
{ echo "<tr>" ;
echo "<td> $s </td>" ;
//Коллективная доза
$query = shop_dose_female( $_POST [ start_date2] , $_POST [ end_date2] , $s ) ;
$dose = round ( $result [ 0
] , 3
) ; //Количество контролируемых лиц
$sql = count_female( $_POST [ start_date2] , $_POST [ end_date2] , $s ) ;
$count_tld = $result2 [ 0] ;
//Распределение доз по величинам
$sql = distrib_dose_female( $year , $_POST [ end_date2] , $s ) ;
{
if ( $r [ 0] < 1. 0) : $a [ 0] ++;
elseif ( $r [ 0] >= 1. 0 AND $r [ 0] < 2. 0) : $a [ 1] ++;
elseif ( $r [ 0] >= 2 AND $r [ 0] < 6) : $a [ 2] ++;
elseif ( $r [ 0] >= 6 AND $r [ 0] < 10) : $a [ 3] ++;
elseif ( $r [ 0] >= 10) : $a [ 4] ++;
endif ;
}
// по RADOS
$query = shop_dose_rados_female( $start_date , $end_date , $s ) ;
$dose_rados = round ( $result [ 0
] , 3
) ; //Количество контролируемых лиц по RADOS
$query = count_dose_rados_female( $start_date , $end_date , $s ) ;
$count_rados = $res2 [ 0] ;
//Количество контролируемых:
$pers_count = $count_tld + $count_rados ;
echo "<td> $pers_count </td>" ;
//Общая доза
$dose = $dose + $dose_rados ;
//Распределение доз
foreach ( $a as $d ) echo "<td>$d </td>" ;
echo "<td> $dose </td>" ;
//Средняя доза
$average_dose = round ( $dose / $pers_count , 3
) ; echo "<td> $average_dose </td>" ;
echo "</tr>" ;
// $summ_dose+=$dose;
// $summ_pers+=$pers_count;
}
echo "</table>" ;
//----------------------------------------------------------------------------
echo "<br>" ;
// include "title.php";
?>
Alexander Goryachij
Отправлено: 18 Февраля, 2013 - 11:36:00 • Тема: создать файл MS Excel • Форум: SQL и Архитектура БД
Ответов: 2 Просмотров: 31
Здравствуйте, требуется получить MS Excel файл из данного скрипта. подскажите что делать.
PHP:
скопировать код в буфер обмена
<link rel="stylesheet" type="text/css" href="style.css" />
<?PHP
include_once "connect.php" ;
include "func_neutron.php" ;
//Переопределяем даты
$start_date = $_POST [ start_date4] ;
$end_date = $_POST [ end_date4] ;
$year = substr ( $_POST [ start_date4
] , 0 , 4 ) . "-01-01" ; //Начало отчетного года //=============================================
//Количество контролируемых лиц по....
$query = neu_dose( $start_date , $end_date , $_POST [ shop] ) ;
$sql = "SELECT count(distinct a.tnum) FROM $query " ;
//Коллективная .....
$sql = "SELECT SUM(a.dose) FROM $query " ;
$dose = $result [ 0] ;
// Заполняем ....
echo '<span style = "color:#4f94cd">' ;
printf ( "<h3><center>.... %s за период с %s по %s .</center></h3>" , $_POST [ shop
] , $start_date , $end_date ) ; echo '<table bordercolor="#B0C4DE" border="6" width="100%">' ;
echo "<tr><h5><td>No</td><td>Таб.No</td><td>Фамилия</td><td>Имя</td><td>Отчество</td><td> за период, мЗв</td>
<td> с начала года, мЗв</td></h5></tr>" ;
$query = pers_neu_dose( $start_date , $end_date , $_POST [ shop] ) ;
$query = "select sum(a.dose) from neutron_dose a where a.tnum='$row[0] ' and
a.date>='$start_date ' and a.date<='$end_date '" ;
$dose_kw = round ( $dose_kw [ 0
] , 4
) ; $query = "select sum(a.dose) from neutron_dose a where a.tnum='$row[0] ' and
a.date>='$year ' and a.date<='$end_date '" ;
$dose_yr = round ( $dose_yr [ 0
] , 4
) ; echo "<tr><td>$count </td><td>$row[0] </td><td>$row[1] </td><td>$row[2] </td><td>$row[3] </td><td>$dose_kw </td><td>$dose_yr </td></tr>" ;
}
echo "</table>" ;
// Итого
printf ( " %s за период с %s по %s , составляет : %.3f мЗв" , $_POST [ shop] , $start_date , $end_date , $dose ) ;
echo "<br>" ;
printf ( "Количество контролируемых лиц - %d " , $res1 [ 0
] ) ; echo "<br>" ;
printf ( " - %.3f мЗв" , $dose / $res1 [ 0
] ) ;
?>
Alexander Goryachij
Отправлено: 12 Февраля, 2013 - 11:46:42 • Тема: Quick_CSV_import кто пользовался? подскажите как настроить • Форум: SQL и Архитектура БД
Ответов: 9 Просмотров: 51
Теперь все так, как я хотел
CODE (
html ):
скопировать код в буфер обмена
<form enctype = "multipart/form-data" action = "rados_add_sql.php" method = "POST" >
<input type = "hidden" name = "MAX_FILE_SIZE" value = "30000" / >
Выбрать : <input name = "uploadfile" type = "file" / >
<input type = "image" value = "Ввод" / >
PHP:
скопировать код в буфер обмена
<?PHP
header ( 'Content-Type: text/html; charset=UTF-8' ) ; include "connect.php" ;
//===========================================================
//проверяем загрузку файла на наличие ошибок
if ( $_FILES [ 'filename' ] [ 'error' ] > 0)
{
switch ( $_FILES [ 'uploadfile' ] [ 'error' ] )
{
case 1: echo 'Размер файла превышает допустимое значение UPLOAD_MAX_FILE_SIZE' ; break ;
case 2: echo 'Размер файла превышает допустимое значение MAX_FILE_SIZE' ; break ;
case 3: echo 'Не удалось загрузить часть файла' ; break ;
case 4: echo 'Файл не был загружен' ; break ;
case 6: echo 'Отсутствует временная папка.' ; break ;
case 7: echo 'Не удалось записать файл на диск.' ; break ;
case 8: echo 'PHP-расширение остановило загрузку файла.' ; break ;
}
}
//папка для загрузки
$uploaddir = '/tmp' ;
//новое сгенерированное имя файла
$newFileName = date ( 'YmdHis' ) . rand ( 10 , 100 ) . '.csv' ; //путь к файлу (папка.файл)
$uploadfile = $uploaddir . $newFileName ;
//загружаем файл move_uploaded_file
echo "Выбранный файл успешно загружен.\n " ;
else
echo "Ошибка загрузки файла.\n " ;
//считываем содержания файла
$fp = fopen ( $uploadfile , 'r' ) ; //чистим от php и html дескрипторов
$fp = fopen ( $uploadfile , 'w' ) ; // обрабатываем csv для импорта
$separator = ";" ;
$fop = fopen ( $uploadfile , "r+" ) ; $i = 0 ;
{
$read = fgets ( $fop , 3000
) ; $date_change ,
$burning ,
$hp10_gamma ,
$hp_surface ,
$hp007 ,
$hp10_n ,
$date ,
$time ,
$reader ,
$operator ) = split ( $separator , $read ) ; `dosim_num`='" . $dosim_num . "',
`date_change`='" . $date_change . "',
`burning`='" . $burning . "',
`hp10_gamma`='" . $hp10_gamma . "',
`hp_surface`='" . $hp_surface . "',
`hp007`='" . $hp007 . "',
`hp10_n`='" . $hp10_n . "',
`date`='" . $date . "',
`time`='" . $time . "',
`reader`='" . $reader . "',
`operator`='" . $operator . "'" ) ;
$i ++;
}
echo "Импортировано записей: " . $i
?>
Страниц (2): [1] 2 »
Powered by ExBB FM 1.0 RC1. InvisionExBB