Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]sekcje, bloki
Forum PHP.pl > Forum > Przedszkole
user767
Do tej pory umiałem pokazywać, ukrywać bloki poprzez instrukcję switch i przekazanie nazwy sekcji w adresie.
Wyglądało to mniej więcej tak dla sesji:

  1. <?php
  2. if($administrator == 1) {
  3. include ("sekcje/sekcja.kategorie.php");
  4.  
  5. include ("sekcje/sekcja.lista_czynnosci.php");
  6.  
  7. include ("sekcje/sekcja.test.php");
  8.  
  9. include ("sekcje/sekcja.kurs_euro.php");
  10. }
  11. ?>



  1.  
  2. <?php
  3. if($administrator == 0 and $user>0) {
  4. include ("sekcje/sekcja.kategorie_user.php");
  5.  
  6. include ("sekcje/sekcja.lista_czynnosci_user.php");
  7.  
  8. }
  9.  
  10.  
  11. ?>


Dla sekcji :
  1. <?php
  2. if($administrator == 1 and $sekcja == "klienci") {
  3. include ("sekcje/sekcja.klienci.php");
  4. include ("sekcje/sekcja.grupy.php");
  5. }
  6.  
  7. if($administrator == 1 and $sekcja == "klienci_dodaj") {
  8. include ("sekcje/sekcja.klienci_dodaj.php");
  9. }
  10.  
  11. if($administrator == 1 and $sekcja == "grupy_dodaj") {
  12. include ("sekcje/sekcja.grupy_dodaj.php");
  13.  
  14. }
  15.  
  16. if($administrator == 1 and $sekcja == "klienci_edytuj") {
  17. include ("sekcje/sekcja.klienci_edytuj.php");
  18.  
  19. }
  20.  
  21. if($administrator == 1 and $sekcja == "grupy_edytuj") {
  22. include ("sekcje/sekcja.grupy_edytuj.php");
  23.  
  24. }
  25.  
  26. if($administrator == 1 and $sekcja == "producent_dodaj") {
  27. include ("sekcje/sekcja.producent_dodaj.php");
  28.  
  29. }
  30. if($administrator == 1 and $sekcja == "producent_edytuj") {
  31. include ("sekcje/sekcja.producent_edytuj.php");
  32.  
  33.  
  34. }
  35. ?>



Jak by to można było zoptymalizować ?
Zmienna trafia przez adres i instrukcja wczytuje mi prawidłowy boks. A jak można postapić z kilkoma boksami ? Musi być pętla, chciałbym aby nie tworzyć 100 boksów, tylko jeden jako wzór, bo są takie same, spójdzcie na obrazek może będzie wiedzieć o co mi chodzi.



Uploaded with ImageShack.us

Od boksów na stronę byłyby parametry w bazie sterowane z panelu.
I tak dalej jeśli jeden to pokaż jeśli zero to nie.
Boksy mam w katalogu sekcje i includuje, chciałbym wypisać je pętlą, z warunkiem jeśli to ta sekcja to stwórz mi taki boks i podstaw dane do niego.

Taki boks wygląda :

  1. <div class="modul">
  2. <div class="head">
  3. <p>Kurs Euro z NBP</p>
  4.  
  5. </div>
  6. <div class="clear"></div>
  7. <div class="mcon">
  8. <table class="modul">
  9.  
  10.  
  11. <tbody class="modul">
  12. <tr>
  13. <td class="lewo"></td>
  14. <td class="con4">
  15.  
  16. <div class="content">
  17. Kurs Euro:
  18. <?php
  19.  
  20. $www = file_get_contents('http://kursy-walut.mybank.pl/');
  21. preg_match_all('#<td class="x2">1 EUR</td>
  22. <td class="x2">(.*)</td>#', $www, $kurs, PREG_PATTERN_ORDER);
  23. //print_r($kurs);
  24.  
  25. print $kurs[1][0];
  26.  
  27. ?>
  28. </div>
  29.  
  30. </td>
  31. <td class="prawo"></td>
  32. </tr>
  33. </tbody>
  34. </table>
  35. <div class="dol4"></div>
  36. </div>
  37.  
  38.  
  39.  
  40. <br />
  41. </div>


Ten kurs działa, jak ktoś chce może sobie pobrać ten kod, nie ma problemu sam zleciłem za 10 złotych.
I długości tych boksów są 3 różnych rodzaji na środek, lewo, środek długi.
For ma tworzyć boks tyle razy, ile w bazie jest rekordów z polem idboksa 1 powiedzmy.
Czy to trudne i optymalne ?
konole
Kod
<?php
if($administrator == 1 and $sekcja == "klienci") {
include ("sekcje/sekcja.klienci.php");
include ("sekcje/sekcja.grupy.php");
}

if($administrator == 1 and $sekcja == "klienci_dodaj") {
include ("sekcje/sekcja.klienci_dodaj.php");
}

if($administrator == 1 and $sekcja == "grupy_dodaj") {
include ("sekcje/sekcja.grupy_dodaj.php");

}

if($administrator == 1 and $sekcja == "klienci_edytuj") {
include ("sekcje/sekcja.klienci_edytuj.php");

}

if($administrator == 1 and $sekcja == "grupy_edytuj") {
include ("sekcje/sekcja.grupy_edytuj.php");

}

if($administrator == 1 and $sekcja == "producent_dodaj") {
include ("sekcje/sekcja.producent_dodaj.php");

}
if($administrator == 1 and $sekcja == "producent_edytuj") {
include ("sekcje/sekcja.producent_edytuj.php");


}
?>


Kod
<?php
if($administrator == 1)
{
switch($sekcja)
{
case  'klienci_dodaj'
include ("sekcje/sekcja.klienci_dodaj.php");
break;
case 'klienci_inne'
include ("sekcje/sekcja.klienci_inne.php");
break;
default:
include ('strona_glowna.php');
}
}

To tak na szybko, jeśli chodzi o ten drugi kod.
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.