Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL][MPDF], Problem z wypisaniem tablicy do pliku PDF
rafaelmc
post
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 16.02.2010

Ostrzeżenie: (0%)
-----


Witam Wszystkich
(IMG:style_emoticons/default/sad.gif) (IMG:style_emoticons/default/sciana.gif)
Od kilku dni, staram się rozwiązać problem z wypisaniem całej zawartości tablicy z bazy danych i wygenerowanie tej tablicy do pliku PDF. Stworzyłem sobie funkcje wypisuje tylko pierwszy wiersz tablicy, a pozostałe wiersze już niestety nie, a są w bazie, na pewno. Staram się rozwiązać ten problem szukam w Google i nic.....

Tutaj jest ta funkcja:
  1. function uczestnik()
  2. {
  3. $polacz_db = polacz();
  4. $wynik = $polacz_db->query("SELECT * FROM lista_uczestnikow ");
  5. $wynik_1 = mysqli_num_rows($wynik);
  6. $user_table = mysqli_fetch_array($wynik);
  7. echo $user_table;
  8. echo $wynik_1;
  9. if( $wynik_1>0 )
  10. {
  11. $test='<table celpadding=\"2\" border=1>
  12. <tr><td><b>id_przep_szkolenia</b></td>
  13. <td><b>id_uczestnika</b></td>
  14. <td><b>imie</b></td>
  15. <td><b>nazwisko</b></td>
  16. <td><b>data_urodzenia</b></td>
  17. <td><b>miejsce_urodzenia</b></td>
  18. <td><b>wojewodztwo</b></td>
  19. <td><b>podpis</b></td>
  20. <td><b>nr_zaswiadczenia</b></td>
  21.  
  22. while('.$user_table = mysqli_fetch_array($wynik).')
  23. {
  24. <tr>
  25. <td>'.$user_table[id_przep_szkolenia].'</td>
  26. <td>'.$user_table[id_uczestnika].'</td>
  27. <td>'.$user_table[imie].'</td>
  28. <td>'.$user_table[nazwisko].'</td>
  29. <td>'.$user_table[data_urodzenia].'</td>
  30. <td>'.$user_table[miejsce_urodzenia].'</td>
  31. <td>'.$user_table[wojewodztwo].'</td>
  32. <td>'.$user_table[podpis].'</td>
  33. <td>'.$user_table[nr_zaswiadczenia].'</td>
  34. </tr>
  35. }
  36. </table>';
  37.  
  38. }
  39. echo $test;
  40. return $test;
  41. }


w ten funkcji tam gdzie jest echo to wyświetla mi coś takiego:

3while(Array)
{
}


ponizej jest fragment generowania pliku PDF
  1. $pdf=new mPDF('utf-8');
  2. //==================
  3. $pdf->allow_charset_conversion=true;
  4. $pdf->charset_in='utf-8';
  5.  
  6. //==================
  7. $pdf->Open();
  8. $pdf->AddPage('utf-8');
  9.  
  10. $pdf->SetFont('arialpl', '', 12);
  11.  
  12. //$pdf->AddFont('courier', '', 'courier.php');
  13. $pdf->SetFont('Arial','B',16);
  14. $mpdf->useOnlyCoreFonts = true;
  15.  
  16. //$mpdf->SetDisplayMode('fullpage');
  17.  
  18. $html='<h1>' .$nazwa_szkolenia.'</h1>
  19. <p>'.uczestnik().'</p>';
  20.  
  21. $pdf->SetFont('courier','',10);
  22. //$pdf->SetFont('arialplb','',10);
  23.  
  24. $pdf->WriteHTML($html,2);
  25. $pdf->Output('mpdf1.pdf','F');

Gdyby ktoś potrafił rozwiązać ten problem, albo dać mi jakieś wskazówki...
(IMG:style_emoticons/default/mellow.gif)
Go to the top of the page
+Quote Post
marck
post
Post #2





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 27.05.2008

Ostrzeżenie: (0%)
-----


Nie jestem "szpecem" ale wydaje mi się że w tym zapytaniu masz to co chciałeś - jeden wiersz. Nastąpił tu zwykły błąd php. Jeżeli chcesz wypisać wszystkie możesz to zrobić tak:
  1. echo"<table>";
  2. $zapytanie=mysql_query("SELECT * FROM COKOLWIEK");
  3.  
  4. while($ln=mysql_fetch_array($zapytanie)){
  5. $id=$ln['id'];
  6. $nazwa=$ln['nazwa'];
  7.  
  8. echo"<tr><td>$id</td><td>$nazwa</td></tr>\r\n";
  9. }
  10. echo"</table>";

lub tak:
  1. $a=1;
  2. $zapytanie=mysql_query("SELECT * FROM COKOLWIEK");
  3.  
  4. while($ln=mysql_fetch_array($zapytanie)){
  5. $id=$ln['id'];
  6. $nazwa=$ln['nazwa'];
  7.  
  8. echo"<tr><td>$a</td><td>$id</td><td>$nazwa</td></tr>";
  9. $a++;
  10. }
  11. echo"</table>";


Wtedy masz wypis do końca. Mam nadzieję że pomogłem
Go to the top of the page
+Quote Post
mortus
post
Post #3





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

Ostrzeżenie: (0%)
-----


Usuwam linię 6 i 7, i poprawiam pętle while, która jest w twoim przypadku tekstem, a nie kodem PHP
  1. <?php
  2. function uczestnik() {
  3. $polacz_db = polacz();
  4. $wynik = $polacz_db->query("SELECT * FROM lista_uczestnikow ");
  5. $wynik_1 = mysqli_num_rows($wynik);
  6. echo $wynik_1;
  7. if ($wynik_1 > 0) {
  8. $test = '<table celpadding=\"2\" border=1>
  9. <tr><td><b>id_przep_szkolenia</b></td>
  10. <td><b>id_uczestnika</b></td>
  11. <td><b>imie</b></td>
  12. <td><b>nazwisko</b></td>
  13. <td><b>data_urodzenia</b></td>
  14. <td><b>miejsce_urodzenia</b></td>
  15. <td><b>wojewodztwo</b></td>
  16. <td><b>podpis</b></td>
  17. <td><b>nr_zaswiadczenia</b></td></tr>';
  18. while ($user_table = mysqli_fetch_array($wynik)) {
  19. $test .= '<tr>';
  20. $test .= '<td>'.$user_table[id_przep_szkolenia].'</td>';
  21. $test .= '<td>'.$user_table[id_uczestnika].'</td>';
  22. $test .= '<td>'.$user_table[imie].'</td>';
  23. $test .= '<td>'.$user_table[nazwisko].'</td>';
  24. $test .= '<td>'.$user_table[data_urodzenia].'</td>';
  25. $test .= '<td>'.$user_table[miejsce_urodzenia].'</td>';
  26. $test .= '<td>'.$user_table[wojewodztwo].'</td>';
  27. $test .= '<td>'.$user_table[podpis].'</td>';
  28. $test .= '<td>'.$user_table[nr_zaswiadczenia].'</td>';
  29. $test .= '</tr>';
  30. }
  31. $test .= '</table>';
  32. }
  33. echo $test;
  34. return $test;
  35. }


Ten post edytował mortus 24.02.2010, 07:10:32
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 14:55