Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Przekonwertowanie bazy danych do konstrukcji drzewa typu nested set
aspireone
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 20.04.2013

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


Napisałem skrypt który z pliku b.txt zapisuje w bazie wszystkie kluby z ich ligami.

plik b.txt ma strukturę :

Ekstraklasa %% Ruch Chorzów
Ekstraklasa %% Śląsk Wrocław
Ekstraklasa %% Widzew Łódź
Ekstraklasa %% Wisła Kraków
Ekstraklasa %% Zagłębie Lubin
I liga %% Arka Gdynia
I liga %% Bogdanka Łęczna
I liga %% Cracovia
I liga %% Dolcan Ząbki
V liga %% Kujawsko-pomorskie %% Kujawsko-pomorska II %% Piast Złotniki Kujawskie
V liga %% Kujawsko-pomorskie %% Kujawsko-pomorska II %% Sadownik Waganiec
V liga %% Kujawsko-pomorskie %% Kujawsko-pomorska II %% Start Radziejów
V liga %% Kujawsko-pomorskie %% Kujawsko-pomorska II %% Zdrój Ciechocinek
V liga %% Kujawsko-pomorskie %% Kujawsko-pomorska II %% Zjednoczeni Piotrków Kujawski
V liga %% Lubelskie %% Biała Podlaska %% Bizon Jeleniec
V liga %% Lubelskie %% Biała Podlaska %% Dwernicki Stoczek Łukowski
V liga %% Lubelskie %% Biała Podlaska %% GLKS Rokitno
V liga %% Lubelskie %% Biała Podlaska %% Granica Terespol
V liga %% Lubelskie %% Biała Podlaska %% Grom Kąkolewnica
V liga %% Lubelskie %% Biała Podlaska %% Janowia Janów Podlaski


skrypt który wyczytuje do bazy danych powyższe dane wygląda tak :

  1. <?php
  2. header("Content-type: text/html; charset=utf-8");
  3. include("namiary.php");
  4. $p = file('b.txt');
  5.  
  6. $tmpcount = count($p);
  7. for ($i = 0; $i < $tmpcount; $i++) {
  8. $l = explode('%%',trim($p[$i]));
  9.  
  10.  
  11. $z0=empty($l[0]);
  12. $z1=empty($l[1]);
  13. $z2=empty($l[2]);
  14. $z3=empty($l[3]);
  15.  
  16. $licz+=1;
  17.  
  18. #1
  19. if($z0==false and $z1==false and $z2==true and $z3==true){
  20. echo("$licz. $l[1] <br>
  21. $l[0] <br>");
  22.  
  23. mysql_query("SET CHARSET utf8"); // polskie znaki
  24. mysql_query("SET NAMES `utf8` COLLATE `utf8_polish_ci`"); // polskie znaki
  25. $dodaj11="INSERT INTO kluby SET nazwa_klubu='$l[1]', id_liga='$l[0]'";
  26. mysql_query($dodaj11);
  27.  
  28. }
  29.  
  30. #2
  31. if($z0==false and $z1==false and $z2==false and $z3==true){
  32. echo("$licz. $l[2] <br>
  33. $l[0] <br> $l[1] <br>");
  34.  
  35. mysql_query("SET CHARSET utf8"); // polskie znaki
  36. mysql_query("SET NAMES `utf8` COLLATE `utf8_polish_ci`"); // polskie znaki
  37. $dodaj11="INSERT INTO kluby SET nazwa_klubu='$l[2]', id_liga='$l[0]', id_grupa='$l[1]'";
  38. mysql_query($dodaj11);
  39. }
  40.  
  41. #3
  42. if($z0==false and $z1==false and $z2==false and $z3==false){
  43. echo("$licz. $l[3] <br>
  44. $l[0] <br> $l[1] / $l[2] <br>");
  45.  
  46. mysql_query("SET CHARSET utf8"); // polskie znaki
  47. mysql_query("SET NAMES `utf8` COLLATE `utf8_polish_ci`"); // polskie znaki
  48. $dodaj11="INSERT INTO kluby SET nazwa_klubu='$l[3]', id_liga='$l[0]', id_grupa='$l[1]', id_grupa_miast='$l[2]'";
  49. mysql_query($dodaj11);
  50. }
  51.  
  52.  
  53.  
  54. echo '<br />';
  55. echo "\n";
  56. }
  57. ?>



po zapisaniu do bazy danych w tabele "kluby" wszytko ładnie wygląda i chodzi! Baza wygląda tak : (IMG:http://mytrainer.pl/h.jpg)

Moje pytanie brzmi jak prze konwertować powyższa strukturę bazy do konstrukcji drzewa typu nested set ? Ma ktoś pomysł ?

Chodzi mi głównie aby mógł w jakiś sposób stworzyć drzewo li, ul do menu z góry dziękuje (IMG:style_emoticons/default/smile.gif)

Ten post edytował aspireone 20.04.2013, 09:45:33
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: 22.08.2025 - 21:59