Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Generowanie pliku rtf
Forum PHP.pl > Forum > Przedszkole
fragov
Witam, oto kod:

  1. header ("Content-type: application/rtf");
  2. $rtf = file('rtf.rtf');
  3. $conn = mysql_connect('localhost', 'login', 'hasło') or die("Brak połaczenia: " . mysql_error());
  4. $baza = mysql_select_db('db',$conn) or die("Nie wybrano bazy, bład: " . mysql_error());
  5. $id = $_GET['id'];
  6.  
  7. $sqla = "SELECT studenci.imie, studenci.nazwisko, avg(oceny.ocena)
  8. FROM studenci
  9. JOIN oceny
  10. ON studenci.studentID=oceny.id_stud
  11. WHERE studenci.studentid ='" . $id . "'
  12. GROUP BY studenci.StudentID";
  13. $sql = mysql_query($sqla);
  14.  
  15.  
  16. for ($i = 0; $i < count($rtf); $i++){
  17. $r = mysql_fetch_array($sql);
  18. //echo "$r[0], $r[1], $r[2]";
  19. $rtf[$i] = str_replace("<<imie>>", $r[0], $rtf[$i]);
  20. $rtf[$i] = str_replace("<<nazwisko>>", $r[1], $rtf[$i]);
  21. $rtf[$i] = str_replace("<<sr>>", $r[2], $rtf[$i]);
  22. }
  23.  
  24. for ($i = 0; $i < count($rtf); $i++){
  25. echo $rtf[$i];
  26. }


I problem jest taki, że wczytuje i wyświetla mi plik rtf tylko nie zamienia danych tj <<imie>>, <<nazwisko>>, <<sr>> (średnia ocen) na dane z bazy. Próbując echo na $r[0-3] dane wyświetlają się poprawnie, tylko w str_replace w ogóle się nie wyświetlają.

Będę wdzięczny za jakąkolwiek pomoc. smile.gif
nospor
  1. for ($i = 0; $i < count($rtf); $i++){
  2. $r = mysql_fetch_array($sql);
  3. //echo "$r[0], $r[1], $r[2]";
  4.  
  5. echo 'Przed:';
  6. var_dump($r[0]);
  7. var_dump($rtf[$i]);
  8.  
  9. $rtf[$i] = str_replace("<<imie>>", $r[0], $rtf[$i]);
  10. echo 'Po:';
  11. var_dump($rtf[$i]);
  12.  
  13. $rtf[$i] = str_replace("<<nazwisko>>", $r[1], $rtf[$i]);
  14. $rtf[$i] = str_replace("<<sr>>", $r[2], $rtf[$i]);
  15. }


ps:
$r = mysql_fetch_array($sql);
czy twoje zapytanie zwraca ci tyle rekordów ile masz lini w pliku rtf? No bo jesli nie, to po pewnym czasie ten kod:
$r = mysql_fetch_array($sql);
będzie ci zwracał FALSE a nie rekord z danymi
fragov
nospor dzięki za pomoc! Problem rozwiązany. smile.gif
I tak, mam 3 linijki i 3 rekordy.

Dziękuję!
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.