Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Генерация PDF на основе нескольких checkbox'ов

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
ghilter
Отправлено: 05 Мая, 2013 - 02:12:09
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




Доброго всем дня/ночи! А также с праздником! Улыбка

Может кто-нибудь помочь с такой проблемой... Необходимо вывести записи из БД и обеспечить выборочную их передачу в PDF. Проблема заключается в том, что не знаю как передать в pdf более 1-ой выбранной записи (т.е. более 1-ого отмеченного чекбокса). Если выбираю 1, то записывается все корректно. Для работы с pdf использую библиотеку FPDF.

PHP:
скопировать код в буфер обмена
  1. echo '<form action="check.php" method="POST">';
  2.  
  3. mysql_connect('localhost', 'root', '') or die('error! Нет соединения с сервером mysql!');
  4.  
  5. mysql_select_db('mybase') or die('error! Нет соединения с базой данных!');
  6. mysql_query("set names cp1251");
  7. $stid = mysql_query('select * from Authors');
  8.  
  9. for ($c=0; $c<mysql_num_rows($stid); $c++)
  10. {
  11. $f = mysql_fetch_array($stid);
  12. echo "$f[AuthorName]";
  13. echo '<input type="checkbox"  name="check[]" value="'.$f['AuthorName'].'"> <br></br>';
  14. }
  15.  
  16. ?>
  17.     <p><input type="submit" value="Отправить;" name="B1"><input type="reset" value="Сбросить;" name="B2"></p>
  18. </form>


PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. define('FPDF_FONTPATH','fpdf17/font/');
  4. require('fpdf17/fpdf.php');
  5.  
  6. if  (!isset($_POST['B1'])) {
  7.                     die("Вы не  выбрали элемент!");
  8.           }
  9. $check_del  = $_POST['check'];
  10. for($i=0; $i<count($check_del); $i++)
  11. {
  12. $pdf = new FPDF();
  13. $pdf->AddPage();
  14. $pdf->SetFont('Arial','B',16);
  15. $pdf->Cell(40,10,$check_del[i],15);
  16. $pdf->Output();
  17. ?>
  18.  


Как бы мне выполнить промежуточное сохранение массива с переданными значениями с checkbox'ов? сам по себе цикл этот нелеп, т.к. по сути требует многократного создания документа, а мне бы в 1 получить эти строки.
 
 Top
LIME
Отправлено: 05 Мая, 2013 - 02:22:17
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




внутри цикла только cell
остальное перед и после
(Добавление)
только еще координаты наверное надо в зависимость от $i поставить
 
 Top
ghilter
Отправлено: 05 Мая, 2013 - 02:43:29
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




LIME пишет:
for($i=0; $i<count($check_del); $i++)
{


Сделал вот так:
PHP:
скопировать код в буфер обмена
  1. define('FPDF_FONTPATH','fpdf17/font/');
  2. require('fpdf17/fpdf.php');
  3. $check_del  = $_POST['check'];
  4. $pdf = new FPDF();
  5. $pdf->AddPage();
  6. $pdf->SetFont('Arial','B',16);
  7. for($i=0; $i<count($check_del); $i++)
  8. {
  9. $pdf->Cell(40,10,$check_del[i],15);
  10. }
  11. $pdf->Output();


Выводит пустой документ, видимо когда страница pdf создана, то туда динамически записывать нельзя ничего.

Каким бы образом можно до формирования документа сохранить в отдельной строке все переданные записи (крайне желательно минимально отоформатированные, т.е. чтобы выводились на отдельных строках)?
 
 Top
LIME
Отправлено: 05 Мая, 2013 - 03:01:48
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




почему бы не посмотреть документацию, примеры
 
 Top
ghilter
Отправлено: 05 Мая, 2013 - 03:06:24
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




[quote=LIME][/quote]

читал документацию на сайте fpdf, чего-то похожего не нашел(

буду признателен, если покажите несколько примеров
 
 Top
LIME
Отправлено: 05 Мая, 2013 - 03:10:05
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




google
fpdf
куча уроков примеров
 
 Top
ghilter
Отправлено: 05 Мая, 2013 - 03:26:53
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




[quote=LIME][/quote]

внимательно читал эти уроки(и на русском и на англ), там все примеры со статичными данными, т.е. есть строка str и ее выводим в pdf.

у меня сейчас вопрос такого плана: можно ли как-нибудь до формирования документа выдрать все строки из $check_del и сохранить их в другой строке
 
 Top
LShark
Отправлено: 05 Мая, 2013 - 09:38:14
Post Id



Частый гость


Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012  


Помог: 1 раз(а)




Хм... А сгенерировать по этому html-файл и отправить его на создание PDF никак?
Я, правда, использую другую библиотеку - MPDF, так что могу ошибаться.

ЗЫ. FPDF корректно работает с русскими шрифтами, особенно в UTF-8?


-----
Истина прежде всего в том, что...
 
 Top
ghilter
Отправлено: 05 Мая, 2013 - 12:12:40
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




[quote=LShark][/quote]

можете подобный пример привести на mpdf, мне не принципиально на какой библиотеке.

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

с шрифтами была проблема, но ее решил подобно тому как описано http://jelu.ru/2009/11/11.html

(Отредактировано автором: 05 Мая, 2013 - 12:14:32)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB