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
Форумы портала PHP.SU :: Версия для печати :: Генерация PDF на основе нескольких checkbox'ов
Форумы портала PHP.SU » » Вопросы новичков » Генерация PDF на основе нескольких checkbox'ов

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

1. ghilter - 05 Мая, 2013 - 02:12:09 - перейти к сообщению
Доброго всем дня/ночи! А также с праздником! Улыбка

Может кто-нибудь помочь с такой проблемой... Необходимо вывести записи из БД и обеспечить выборочную их передачу в 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 получить эти строки.
2. LIME - 05 Мая, 2013 - 02:22:17 - перейти к сообщению
внутри цикла только cell
остальное перед и после
(Добавление)
только еще координаты наверное надо в зависимость от $i поставить
3. ghilter - 05 Мая, 2013 - 02:43:29 - перейти к сообщению
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 создана, то туда динамически записывать нельзя ничего.

Каким бы образом можно до формирования документа сохранить в отдельной строке все переданные записи (крайне желательно минимально отоформатированные, т.е. чтобы выводились на отдельных строках)?
4. LIME - 05 Мая, 2013 - 03:01:48 - перейти к сообщению
почему бы не посмотреть документацию, примеры
5. ghilter - 05 Мая, 2013 - 03:06:24 - перейти к сообщению
[quote=LIME][/quote]

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

буду признателен, если покажите несколько примеров
6. LIME - 05 Мая, 2013 - 03:10:05 - перейти к сообщению
google
fpdf
куча уроков примеров
7. ghilter - 05 Мая, 2013 - 03:26:53 - перейти к сообщению
[quote=LIME][/quote]

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

у меня сейчас вопрос такого плана: можно ли как-нибудь до формирования документа выдрать все строки из $check_del и сохранить их в другой строке
8. LShark - 05 Мая, 2013 - 09:38:14 - перейти к сообщению
Хм... А сгенерировать по этому html-файл и отправить его на создание PDF никак?
Я, правда, использую другую библиотеку - MPDF, так что могу ошибаться.

ЗЫ. FPDF корректно работает с русскими шрифтами, особенно в UTF-8?
9. ghilter - 05 Мая, 2013 - 12:12:40 - перейти к сообщению
[quote=LShark][/quote]

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

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

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

 

Powered by ExBB FM 1.0 RC1