Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapisanie wszystki rekordów z bazy do pliku
Forum PHP.pl > Forum > PHP
bne
Witam, znalazłem już jeden taki temat ale nie było tam rozwiązania...


  1. <?php
  2. $log = $db -> SelectLimit("SELECT * FROM logi ORDER BY id DESC");
  3. $id = array();
  4. $log = array();
  5. $time = array();
  6. $ins = array();
  7. $i = 0;
  8. while (!$log -> EOF) {
  9.  $id[$i] = $log -> fields['id'];
  10. $log[$i] = $log -> fields['text'];
  11. $time[$i] = $log -> fields['time'];
  12. $ins[$i] = questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif?
  13. $log -> MoveNext();
  14. $i = $i + 1;  
  15. }
  16. $log -> Close();
  17.  
  18. $dane = $ins;
  19. $file = $newdate;
  20. $fp = fopen("logi/$file","w");
  21. fwrite($fp, $dane);
  22. ?>


Chciałbym aby w pliku zapisały się wszystkie rekordy w postaci

id - log - time
id - log - time
id - log - time
id - log - time itd.

Mógł by ktoś mi podpowiedzieć co umieścić w znaki zapytania
1010
a co ta zmienna ins ma zawierac?
bne
przecież to chyba już logika, ma zawierać id - log i time
strife
Witam,

Przede wszystkim skrypt, który nam zaprezentowałeś jest mało optymalnie napisany, a to co ma zrobić da się napisać o wiele prościej i lepiej. Poświęciłem chwilę czasu, ( głownie za sprawą wiadomości na gg jaką dostałem tongue.gif ) i pozwoliłem sobie napisać moją wersję skryptu, który ma robić to o czym piszesz.

  1. <?php
  2. $cn = mysql_connect('localhost', 'root', 'root' );
  3. $d = mysql_select_db( 'poligon');
  4.  
  5. $query = mysql_query("SELECT * FROM users ORDER BY id DESC");
  6.  
  7. while ( $row = mysql_fetch_array( $query ) ) 
  8. {
  9. $array[] = $row['id'] . '-' . $row['text'] . '-' . $row['time'];
  10. }
  11. $string = implode( "n", $array );
  12.  
  13. echo '<pre>';
  14. print_r( $string );
  15.  
  16. // zapisywanie do pliku
  17. // php5 only
  18. file_put_contents( 'pliczek.txt', $string );
  19.  
  20. // w php4 fopen, fwrite, fclose
  21. ?>


Oczywiście dodałem kilka rzeczy, które były mi niezbędne do odpalenia skryptu u siebie, ale zasadę działania już masz, po prostu przerób swój skrypt trochę, na wzrór tego co napisałem i będziesz miał.

Pozdrawiam.
heaven
CODE

$ins[$i] = $log -> fields['id'] .' - '. $log -> fields['text'] .' - '. $log -> fields['time']
....
....
....
$dane = implode("\n",$ins);
...
...


a tak przy okazji jak w php ([ php ]) zapisac "\n"

  1. <?php
  2. $test = "n"; // odwrotnie? a pisze dobrze
  3. ?>
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.