Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dane o stronach
Asmox
post
Post #1





Grupa: Zarejestrowani
Postów: 359
Pomógł: 12
Dołączył: 16.01.2009

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


Postanowiłem stworzyć pewną "listę" stron, które są na mojej stronie i za pomocą pewnej funkcji sprawdzać całą tę listę i wybierać z niej odpowiednie adresy na ten przykład. Funkcja razem z tą "listą" wygląda tak:
  1. <?php
  2. $strony = array(
  3. /*0*/'wprowadzenie',
  4. /*1*/'znaczniki',
  5. );
  6. $lekcje = array(
  7. /*0*/1,
  8. /*1*/2,
  9. );
  10. $adresy = array(
  11. /*0*/$MASTER_ROOT.'kursy-online/kurs-html/wprowadzenie.html',
  12. /*1*/$MASTER_ROOT.'kursy-online/kurs-html/znaczniki.html',
  13. );
  14. $kategorie = array(
  15. /*0*/'kurs-html',
  16. /*1*/'kurs-html',
  17. );
  18. $edycje = array(
  19. /*0*/'04-03-2009',
  20. /*1*/'04-03-2009',
  21. );
  22. function getpage ($id) {
  23. $strony = $GLOBALS['strony'];
  24. $lekcje = $GLOBALS['lekcje'];
  25. $adresy = $GLOBALS['adresy'];
  26. $kategorie = $GLOBALS['kategorie'];
  27. $edycje = $GLOBALS['edycje'];
  28.  
  29. $tablica = array(
  30. "strona" => $strony[$id],
  31. "lekcja" => $lekcje[$id],
  32. "adres" => $adresy[$id],
  33. "kategoria" => $kategorie[$id],
  34. "last_mod" => $edycje[$id],
  35. );
  36. return $tablica;
  37. }
  38. ?>

Doszedłem do wniosku, że niestety przy większej liczbie stron będzie się w tym można nieźle pogubić. Głównie dlatego, że łatwo mogą się pomylić numery wierszy, a przy okazji zależy mi, żeby strony nie miały przetasowanych kategorii. Czy macie jakiś pomysł, jakby można było zastąpić tę listę czymś innym?
Dobrze by było, aby nie używać do tego celu baz danych. Może klasy by były odpowiednie?

Ten post edytował Asmox 4.03.2009, 18:02:45
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Asmox
post
Post #2





Grupa: Zarejestrowani
Postów: 359
Pomógł: 12
Dołączył: 16.01.2009

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


Ok, zrobiłem te rzeczy w bazie. Jednak czasami muszę je jakoś wyciągać przypisując je do zmiennych. Zrobiłem taką funkcję:
  1. <?php
  2. function kursy_z_kursu($kurs) {
  3. $query = ("SELECT * FROM baza_linki WHERE KATEGORIA='$kurs';");
  4. $make = mysql_query($query);
  5.  
  6. $i = 0;
  7. while($wynik = mysql_fetch_row($make)){
  8. ${$kurs . $i} = new kurs ($wynik[1], $wynik[2], $wynik[3], $wynik[4], $wynik[5]);
  9. $GLOBALS[{$kurs . $i}] //Wywala błąd Parse error: syntax error, unexpected '{', expecting ']' in D:WebServhttpdworld_webphpmwbd.php on line 26
  10. }
  11. }
  12.  
  13. kursy_z_kursu("HTML");
  14. $HTML0->writeall();
  15. ?>

Przy próbie wykonania ostatniej linijki zwracany jest błąd - to chyba normalne, ponieważ zmienne z wnętrza funkcji nie są dostępne poza nią. Czy macie jakiś sposób na ominięcie tego problemu? Najlepiej, jeśli dałoby się bez użycia zmiennych globalnych. Oczywiście jeśli nie ma innego wyjścia, to niech będą te zmienne globalne. Tylko nie wiem jak je zrobić
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: 4.10.2025 - 16:35