За последние 24 часа нас посетили 68919 программистов и 10322 робота. Сейчас ищут 2402 программиста ...

Данные из почтовой формы добавлять в файл EXEL

Тема в разделе "PHP для новичков", создана пользователем d22cva, 28 янв 2016.

  1. d22cva

    d22cva Новичок

    С нами с:
    28 янв 2016
    Сообщения:
    2
    Симпатии:
    0
    Приветствую! Есть два дома с разным количеством квартир. На сайте ТСЖ сделали форму для отправки показаний на почту. Хотелось , чтобы данные формы записывались в файл exel на лист с именем дома и в строку соотвествующей номеру квартиры. Еще необходимо сделать, чтобы показания можно было отправлять с 24 числа по 31-е каждого месяца или если муторно, то чтоб каждый месяц создавался файл с именем месяца не важно на английском или русском. Использование CSV не подходит, т.к. не все люди могу отправить и соответствующая строка должна быть пустой.
    Конечно важнее всего чтобы данные формы писались в файл на нужный лист и строку :)

    код формы
    Код (PHP):
    1. <HTML>
    2. <head><meta http-equiv="Content-Type" content="text/html; charset=WINDOWS-1251"></head> 
    3. <body bgcolor="#bef574" text="#000000"><center><b><h2>Передать показания ВОДЫ</h2></b></center> <dl> <dd> <b>Передать показания ВОДЫ</b>
    4. <p></p>
    5. <table border=0>
    6. <form action= "post.php" method= "POST"> 
    7. <tr>
    8. <td>
    9. <p>Дом: </td>
    10.    <td>
    11.     <label>
    12.       <input type="radio" name="dom" value="38/2"/>38/2
    13.     </label>
    14.     <label>
    15.       <input type="radio" name="dom" value="38/3"/>38/3
    16.     </label>
    17.    </td>
    18. </p> 
    19. </tr>
    20. <tr><td>Квартира №: </td><td><input type= "text" name="kv" maxlength="3"></td> </tr>
    21. <tr><td><b>Показания :</b></td><td></td></tr>
    22. <tr><td><font color="blue">Холодная</font> вода СЧЁТЧИК №1: </td><td><input type= "text" name="cold1"></td></tr>
    23. <tr><td><font color="blue">Холодная</font> вода СЧЁТЧИК №2: </td><td><input type= "text" name="cold2"></td><td>(Если нет счетчика пишем <b>НЕТ</b> или ставим символ "-")</td></tr>
    24. <tr><td><font color="red">Горячая</font>  вода СЧЁТЧИК №1: </td><td><input type= "text" name="hot1"></td></tr>
    25. <tr><td><font color="red">Горячая</font>  вода СЧЁТЧИК №2: </td><td><input type= "text" name="hot2"></td><td>(Если нет счетчика пишем <b>НЕТ</b> или ставим символ "-")</td></tr></tr>
    26.  <tr><td></td><td><input type= "submit" value= "Отправить"></td></tr>
    27. </form>
    28. </table>
    29. </body></html>
    30.  
    Подсказка от модератора:
    Любой код или текст конфигурации пишите между тегом [code=php] и [/code].
    Используйте отступы в коде для форматирования текста.
    Это помогает быстрее понять вас, увеличивает шанс на получение ответа.
    Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, любая другая разметка, результаты array/object dump и т. д.
     
  2. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.599
    Симпатии:
    206
    Читайте про PHPExel
     
  3. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.497
    Симпатии:
    1.726
    Лично я бы сделал нормальную базу данных для показаний, и отдельно - экспорт в Excel. Сразу писать в Excel - больше проблем будет. К примеру, с отработкой ситуации, когда два человека захотят заполнить показания одновременно
     
  4. d22cva

    d22cva Новичок

    С нами с:
    28 янв 2016
    Сообщения:
    2
    Симпатии:
    0
    Как бы Вы например сделали? Хотя бы накидать примерный план.
     
  5. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.599
    Симпатии:
    206
    Создаём базу данных. Если всего 2 дома - в ней создаём две таблицы. Если домов может быть больше - хватит одной.
    Возьмём вариант 2.
    Создаём таблицу с полями:
    айди, номер дома, номер квартиры, дата, показание счётчика.

    Сначала записываем пришедшие данные в базу данных. Затем экспортируем это в файлик эксель ИЗ базы данных.
    Этим можно убить нескольких зайцев:
    1. база данных может работать с несколькими запросами одновременно (в отличии от косяков с открыванием файла эксель)
    2. можно сохранять историю показаний
    3. экспорт в файл можно будет сделать в любое время
    4. ещё о чём-то думал, но, пока писал - забыл.