Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP][MySQL]wyswietlanie txt na stronie
m4dmike
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 25.02.2011

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


Witam,

Czy moglby ktos podowiedziec mi rozwiazanie mojego problemu, nad ktorym glowie sie juz kilka godzin i nie moge nic sensownego wymyslec, mianowicie:
posiadam katalog w ktorym miesci sie, powiedzmy, ok 50000 plikow txt, kazdy plik zawiera wiersz poetycki, nazwa pliku to tytul wiersza lub tytul i tworca,
chcialbym zrobic stronke na ktorej bedzie mozna wyszukac dany wiersz, po nazwie lub tworcy, no i klikajac na tytul tego wiersza wyswietlic zawartosc pliku txt z tym wierszem na stronie.
Jak sie do tego wogole zabrac? ciezko przypisywac 50000 linkow. Jakies pomysly?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nekomata
post
Post #2





Grupa: Zarejestrowani
Postów: 314
Pomógł: 44
Dołączył: 12.11.2010
Skąd: UK

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


Nudziło mi się wiec napisałem ci szkielet , robisz to na xamppie i tworzysz w htdocs tworzysz folder 'wiersze' i tam wrzucasz pliki txt ,w skrypcie ode mnie zmieniasz tylko dane do bazy danych(tabela tworzy się automatycznie (IMG:style_emoticons/default/biggrin.gif) )
plik : dodaj.php
  1. <?php
  2. #Mysqli
  3. DEFINE('DB_USER','login');
  4. DEFINE('DB_PASSWORD','haslo');
  5. DEFINE('DB_HOST','localhost');
  6. DEFINE('DB_NAME','baza');
  7. //connect
  8. $dbc = mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME);
  9. if(!$dbc) {
  10. trigger_error('Nie mozna polaczyc z baza mysql : '.mysqli_connect_error() );
  11. }
  12.  
  13. function masowa_baza($xx){
  14. global $dbc;
  15. $MojFolder = opendir($xx);
  16. while($entryName = readdir($MojFolder)) {
  17. $ListaPlikow[] = $entryName;
  18. }
  19. closedir($MojFolder);
  20. $indexCount = count($ListaPlikow);
  21. sort($ListaPlikow);
  22. for($index=0; $index < $indexCount; $index++) {
  23. if (substr($ListaPlikow[$index], 0, 1) != '.'){
  24. echo '<br/>';
  25. $tytul = str_replace('.txt','',$ListaPlikow[$index]);
  26. $plik = file_get_contents($xx.$ListaPlikow[$index]);
  27. $tytul = mysqli_real_escape_string($dbc,$tytul);
  28. $plik = mysqli_real_escape_string($dbc,$plik);
  29. $test = "SELECT tytul FROM wiersze WHERE tytul='".$tytul."'";
  30. $sprawdzanie = mysqli_query($dbc,$test);
  31. if(mysqli_num_rows($sprawdzanie)<1){
  32. $wstawianie = "INSERT INTO wiersze (tytul,zawartosc) Values ('$tytul','$plik' )";
  33. if(mysqli_query($dbc,$wstawianie)){
  34. echo $tytul.' zostal dodany pomyslnie do bazy danych<br/>';
  35. }
  36. else{
  37. $tytul.' nie mogl zostac dodany do bazy danych.<br/>';
  38. }
  39. }
  40. else {
  41. echo $tytul.' istnieje juz w bazie wiec zostal pominiety.<br/>';
  42. }
  43.  
  44. }
  45. }
  46. }
  47. //Tworzymy baze danych
  48. $tabela = "CREATE TABLE `wiersze` (
  49. `id` smallint(10) NOT NULL AUTO_INCREMENT,
  50. `tytul` varchar(300) COLLATE utf8_polish_ci NOT NULL,
  51. `zawartosc` text COLLATE utf8_polish_ci,
  52. PRIMARY KEY (`id`)
  53. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci";
  54. mysqli_query($dbc,$tabela);
  55. masowa_baza('./wiersze/');
  56. ?>

plik: czytaj.php
  1.  
  2. <?php
  3. #Mysqli
  4. DEFINE('DB_USER','user');
  5. DEFINE('DB_PASSWORD','haslo');
  6. DEFINE('DB_HOST','localhost');
  7. DEFINE('DB_NAME','nazwabazy');
  8. $dbc = mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME);
  9. if(!$dbc) {
  10. trigger_error('Nie mozna polaczyc z baza mysql : '.mysqli_connect_error() );
  11. }
  12. // Teraz wyswietlanie
  13.  
  14. if(!isset($_GET['id'])){
  15. echo 'witam w liscie wierszy .<br/>';
  16. $zapytanie = "SELECT id,tytul FROM wiersze";
  17. $odebrane = mysqli_query($dbc,$zapytanie);
  18. while($wiersze = mysqli_fetch_array($odebrane,MYSQLI_ASSOC)){
  19. echo '<a href="czytaj.php?id='.$wiersze['id'].'" >'.$wiersze['tytul'].'</a><br/>';
  20. }
  21. }
  22. else{
  23. $id = mysqli_real_escape_string($dbc,$_GET['id']);
  24. $zapytanie = "SELECT * FROM wiersze WHERE id='$id'";
  25. $odebrane = mysqli_query($dbc,$zapytanie);
  26. while($wiersze = mysqli_fetch_array($odebrane,MYSQLI_ASSOC)){
  27. echo '<h1>'.$wiersze['tytul'].'</h1><br/>'.$wiersze['zawartosc'];
  28. }
  29. }
  30.  
  31. ?>

Napisałem to tylko z ciekawości bo nie pisałem niczego podobnego wcześniej, na stronę to i tak zamalo ale szkielet jest :] , wystarczy ze odpalisz plik dodaj.php i wszystkie pliki txt z folderu 'wiersze' zostaną dodane do bazy.
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: 7.10.2025 - 15:16