За последние 24 часа нас посетили 36623 программиста и 1706 роботов. Сейчас ищут 967 программистов ...

Распечатать все страницы одной кнопкой.

Тема в разделе "PHP для новичков", создана пользователем DKelt, 1 май 2012.

  1. DKelt

    DKelt Активный пользователь

    С нами с:
    21 апр 2012
    Сообщения:
    51
    Симпатии:
    0
    Здравствуйте, стало интересно, есть ли в php средства для того чтобы распечатать все одной кнопкой. Ну т.е. у меня есть веб-приложение, структура блочная, соответственно слева ссылки на разные страницы, можно ли в блок left также поместить кнопку, которая будет печатать содержимое всех нужных мне страниц сразу? Возможно ли это в принципе? И, если да, то как?)
     
  2. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Скорее, это вопрос к твоему приложению - т.е. есть ли средства в твоём веб-приложении для выполнения такой задачи... И, конечно, никто не знает ответ, поскольку никто не знает, что там за система. Да и если ты скажешь название - всё равно не факт, что кто-то сталкивался с ней и достаточно хорошо разобрался.
    Средствами PHP сделать можно, но как именно и насколько это будет долго и сложно - всё зависит от твоего приложения.
     
  3. DKelt

    DKelt Активный пользователь

    С нами с:
    21 апр 2012
    Сообщения:
    51
    Симпатии:
    0
    Веб-приложением я обозвал сайт который делаю)
     
  4. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    А...
    Ну, в принципе, это можно сделать по-рузному. Например, ты можешь передать в скрипт список идентификаторов статей, по которым скрипт сможет определить, какие именно статьи нужно отобразить. Можешь просто запятыми эти идентификаторы разделить, можешь передать массив... Или если этот список заранее известен и не меняется - можешь и просто в скрипте его прописать. Часто бывает выводят, например, последние Х статей/новостей и т.п. - тогда никакие идентификаторы передавать не нужно, просто достаёшь из базы нужное количество записей, отсортировав по дате по убыванию и показываешь их.
     
  5. DKelt

    DKelt Активный пользователь

    С нами с:
    21 апр 2012
    Сообщения:
    51
    Симпатии:
    0
    Ну смотрите у меня есть 18 ссылок, на каждой отображается выведенная таблица из базы(разные таблицы) + редактирование этих таблиц и разные кнопочки для работы с ними, нужно чтобы распечатывались только таблицы причем каждая на разной странице, как-то так)
     
  6. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Я не знаю, что можно ещё подсказать, не зная структуру базы данных и того кода, который у тебя есть. И даже если выложишь где-то свой код - я, наверно, посмотрю, но вникать в чужую систему, разбираться в коде, особенно когда его много - это долго. Не думаю, что захочется :) А так - делаешь свою ещё одну ссылку, при переходе по которой отображается всё, что нужно. Скорее всего для этого будет нужно написать ещё один отдельный скрипт, но возможно, что удастся как-то приспособить имеющийся код, чтобы он по аналогии с одной страницей в цикле вывел все 18.
     
  7. DKelt

    DKelt Активный пользователь

    С нами с:
    21 апр 2012
    Сообщения:
    51
    Симпатии:
    0
    ну это да, понятно что можно кнопку сделать отправкой на отдельный файлик где будут выведенные таблички из бд, а как сделать так чтобы каждая таблица была на отдельном листе а4?
    Спасибо за то, что помогаешь, который раз))
     
  8. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Ах, вот ты о чём... :)
    Ну, у листов А4 есть стандартная высота-ширина в миллиметрах. Кажется, 210*297 мм. Можешь завернуть каждую свою таблицу в отдельный DIV и для этих DIV-ов принудительно задать высоту и ширину - тоже в миллиметрах. Я, конечно, не уверен, но думаю должно сработать. Попробуй. Только вот ещё... у принтеров поля есть - не знаю даже, как с ними быть, у разных принтеров они могут отличаться. Каких-то специфических CSS/HTML инструкций для распределения содержимого между страницами при печати на принтере - я не знаю... Мне кажется, что нет такого.
     
  9. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    проще дать человеку docx разбитый на страницы как надо или пдф
     
  10. DKelt

    DKelt Активный пользователь

    С нами с:
    21 апр 2012
    Сообщения:
    51
    Симпатии:
    0
    А как вывести docx?
     
  11. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
  12. DKelt

    DKelt Активный пользователь

    С нами с:
    21 апр 2012
    Сообщения:
    51
    Симпатии:
    0
    Почитал я, понял что мне еще такие вещи рано, как начинающему, но более менее даже разобрался. С текстом и картинками все с горем пополам ясно, а вот как туда вывести таблицу базы, вообще чего-то никаких идей(

    Добавлено спустя 38 минут 13 секунд:
    А про пдф можете хорошую статью подкинуть?
     
  13. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    прости не использовал ни разу. поспрашивай на форуме еще других.

    ты уверен, то тебе прям так кровь из носу надо сделать на отдельных страницах?
     
  14. DKelt

    DKelt Активный пользователь

    С нами с:
    21 апр 2012
    Сообщения:
    51
    Симпатии:
    0
    Желательно) Точнее так, что на отдельных страницах я уверен, а вот чтобы именно все одной кнопкой это желательно)
     
  15. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    можно сделать так, что на странице откроется автоматом диалог о печати, кажется.

    т.е. тебе просто надо будет открыть пяток таких страниц юзеру (хз как это сделать), а дальше уже останется пять раз нажать на ок.