Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Duża zmienna z pętli while - nie udaje się stworzyć
Forum PHP.pl > Forum > Przedszkole
naj
Chcę wysyłać raporty przy pomocy funkcji mail(), dlatego też pobierając dane z bazy danych nie wyświetlam ich od razu tylko doczepiam do zmiennej, mniej więcej w ten sposób (Nagłówek tabeli i koniec tabeli są zdefiniowane poza pętlą.):



  1. $zawartosc_tab1='';
  2. $i=1;
  3.  
  4. while($row = mysql_fetch_array($wynik_db)){
  5.  
  6. $zawartosc_tab1=$zawartosc_tab1."<tr><td>".$i;
  7. $zawartosc_tab1=$zawartosc_tab1."</td><td>".$row['dataplatnosci'];
  8. $zawartosc_tab1=$zawartosc_tab1."</td><td>".number_format($row['kwotaplatnosci'],2, ',',' ');
  9. (...)
  10. $zawartosc_tab1=$zawartosc_tab1."</td></tr>";
  11. $i++;
  12.  
  13. }


Niestety nie za bardzo wychodzi mi utworzenie tej zmiennej - (składa się ona z ok. 30 wierszy x 7 kolumn), nic się nie wyświetla; a próbuję umieścić echo zarówno w pętli jak i poza nią. Dodam, że taki sam raport bez problemu udaje się wygenerować używając komendy echo.

Na czym polega mój błąd? Czy zmienna jest zbyt duża? Jeśli tak to w jaki sposób można takie raporty wysyłać mailem.. Z góry dziękuję za odpowiedź.
kosmowariat
włącz error_reporting(E_ALL); bo z tego co napisałeś to trudno coś wywnioskować ;]
bryzas
30 x 7 questionmark.gif 210 zmiennych questionmark.gif

zamiast robić $zmienna=$zmienna+"coś tam" to stosuj
$zmienna .= "coś tam", tylko przy pierwszym przypisaniu zastosuj $zmienna = "coś tam"

  1. $zawartosc_tab1='';
  2. $i=1;
  3. $zawatrosc_tab1 = "<table>";
  4. while($row = mysql_fetch_array($wynik_db)){
  5. $zawartosc_tab1 .= "<tr><td>$i</td><td>$row['dataplatnosci']</td><td>".number_format($row['kwotaplatnosci'],2, ',',' ');
  6. (...)
  7. $zawartosc_tab1 .= "</td></tr>";
  8. $i++;
  9.  
  10. }
  11. echo $zawartosc_tab1;
Zamiast pracowicie zamykać ciąg, wstawiać zmienną, otwierać ciąg
ponownie i tak w kółko, zmienne możemy wstawić bezpośrednio w tekst, a
parser PHP zamieni je na odpowiednie wartości.:
  1. $zawartosc_tab1 .= "<tr><td>$i</td><td>$row['dataplatnosci']</td><td>"

naj
Hmm, ale mi glupio - zadnych error nie ma, to wina zle skontruowanego zapytania.

Przepraszam i dziekuje za podpowiedzi jak poprawnie programowac.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.