Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL][PHP]Dzielenie rekordów sql na paczki po 100
niko841
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 11.04.2010

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


Witajcie jestem nowy i na forum i w programowaniu. Bawię się ze skryptami w ramach ćwiczeń (IMG:style_emoticons/default/smile.gif) (samouk) (IMG:style_emoticons/default/smile.gif) (IMG:style_emoticons/default/smile.gif)

Mam problem z takim skryptem.
Chcę wyświetlić wszystkie rekordy sql na stronie - to umiem (IMG:style_emoticons/default/smile.gif)
Później te wszystkie rekordy zapisać do plików txt po 100 wpisów na plik.

czyli jeśli w bazie jest 1000 rekordów to skrypt utworzy mi 10 plików po 100 wpisów.
Chodzi mi tylko o czytanie jednej kolumny z tabeli i jej zapis.
Szukałem też pomocy na forum forum.optymalizacja.com (informuję was tak co by być uczciwym dla was)
Chłopaki proponują tam "limit" tylko nie bardzo rozumiem jak to ma się sprawdzić w przypadku wyświetlania wszystkich rekordów i dzielenia ich na paczki.

Pomocyyyyyy (IMG:style_emoticons/default/smile.gif)

Dziękuję za pomoc.

Ten post edytował niko841 29.10.2011, 07:53:40
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
niko841
post
Post #2





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 11.04.2010

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


problem z ilością sobie rozwiązałem licząc ilośc wpisów w tabeli.

Jak na początku wspomniałem jestem początkujący w programowaniu i się uczę samemu więc nie besztajcie mnie bardzo za to co zrobiłem źle ok (IMG:style_emoticons/default/smile.gif)

Mój skrypt wygląda tak:
  1. <?php
  2. $ilosc_na_plik = "5";
  3. $sql_polaczenie = mysql_connect("localhost", "root", "")
  4. or die ('Blad polaczenia z baza danych. ' . mysql_error());
  5.  
  6. mysql_select_db("art") or die('Brak bazy danych. ' . mysql_error());
  7. $sql_count = mysql_query("SELECT count(id) FROM pozycje");
  8. $count = mysql_fetch_array($sql_count);
  9. $countarry = round($count[0]/$ilosc_na_plik, 0);
  10.  
  11. for($i=0; $i<=$countarry; $i++) // tu pętla od Piotra
  12. {
  13. $sql = mysql_query("SELECT nazwa FROM pozycje LIMIT " . ($i*$ilosc_na_plik) . ", $ilosc_na_plik" );
  14. while($wynik = mysql_fetch_array($sql))
  15. {
  16. $nazwy = $wynik['nazwa']."\n";
  17. $plik = "nazwy_".$i.".txt";
  18. $fp = fopen($plik, "a");
  19. flock($fp, 2);
  20. fwrite($fp, $nazwy);
  21. flock($fp, 3);
  22. fclose($fp);
  23.  
  24. }
  25. }
  26. ?>


lub
Pomysł Croc
  1. <?php
  2. $ilosc_na_plik = "5";
  3. $sql_polaczenie = mysql_connect("localhost", "root", "")
  4. or die ('Blad polaczenia z baza danych. ' . mysql_error());
  5.  
  6. mysql_select_db("art") or die('Brak bazy danych. ' . mysql_error());
  7. $sql = mysql_query("SELECT nazwa FROM pozycje");
  8.  
  9. $rowsPerFile = 5;
  10. $fileID = 0;
  11. for($i = 0; $row = mysql_fetch_assoc($sql); ++$i)
  12. {
  13. if($i % $rowsPerFile === 0)
  14. {
  15. ++$fileID;
  16. $file = fopen($fileID.'.txt', 'w');
  17. }
  18. fwrite($file, $row['nazwa']."\n");
  19. }
  20. ?>


Który też działa pięknie.

Mówiłem, że jestem początkujący (IMG:style_emoticons/default/smile.gif)

Mam nadzieję, że nie dostanę bana od admina za wklejenie całego skryptu.
Swoją drogą pozdrawiam Administratorów.

Ten post edytował niko841 31.10.2011, 15:15:07
Go to the top of the page
+Quote Post

Posty w temacie


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: 6.10.2025 - 09:54