Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Zwracanie zmiennych przez funkcje.
Forum PHP.pl > Forum > Przedszkole
lucca
Witam wszystkich.

Mimo, że moja nauka z PHP dopiero się zaczyna, napisałem sobie mały skrypcik. Coś a' la CMS:)

W skrypcie owym jest możliwośc zmiany styli, szablonów. Teraz mam pytanie.

Mam następującą funkcję:
  1. <?php
  2. function show($band, $format)
  3. {
  4. $query = mysql_query("SELECT * FROM shows join settings where band='$band' and format='$format' ORDER BY date")
  5. or die(mysql_error()); 
  6. while($r = mysql_fetch_assoc($query)) {
  7. echo '
  8. <p style="padding:0; margin:0; line-height:15px;">'.date(''.$r['date_format'].'',strtotime($r[date])).' - '.$r['info'].' - '.$r['discs'].'';
  9. if($r['format'] == 'DVD')
  10. { echo ' DVD';
  11. } else {
  12. echo ' CD';
  13. }
  14.  
  15. echo ' - '.$r['source'].'&nbsp;&nbsp';
  16.  
  17. $infos = mysql_query("select * from infos where show_id='{$r['id']}' limit 1") or die (mysql_error());
  18. if(mysql_num_rows($infos) > 0){
  19. echo "<a href='?module=info&id={$r['id']}'' title='Info'><img src='templates/default/images/info.gif' style='border:0; padding:0; line-height:15px; vertical-align: bottom'></a></p>";
  20. }
  21. } 
  22. }
  23. ?>


Jak widzicie, zwraca ona rózne rekordy z bazy danych. Teraz mam pytanie.

Czy macie może jakieś sugestie jak rozwiązać problem, ale zwracała ona jakieś zmienne? Wiem, jakoś fatalnie idzie mi tłumaczenie, więc posłużę się przykładem.

Powiedzmy, że chcę zrobić tak, aby zaprezentowana funkcja zwracała mi zmienne: $tytul, $zawartosc, $stopa.

Mam teraz różne szablony, style strony, które użytkownik może zmienić. O co mi chodzi? A mianowicie o to, aby zwrócone funkcje były wywoływane w szablonach i w nich ustawiane, żeby nie było konieczności zwracania fragmentów layoutu funkcją:

  1. $tytul = 'Szablon 1'
  2.  
  3. <div><?php echo $tytul; ?> </div>


Wszystkie sugestie mile widziane!:) Gotowca nie chcę, chcę to sam załapać.

Pozdrawiam
Pilsener
  1. <?php
  2. function zmienna($zmienna){
  3. return $zmienna;
  4. }
  5.  
  6. $cos = zmienna('blabla');
  7. echo $cos;
  8. ?>
Cezar708
1. referencja:
  1. <?php
  2. function test(&$tytul, &$zawartosc, &$stopa) {
  3. $tytul = "tytul z bazy";
  4. $zawartosc = "zawartosc z bazy";
  5. $stopa = "stopa z bazy";
  6. }
  7. ?>


2. zwracanie wyniku jako tablica:

  1. <?php
  2. function test() {
  3. return array(
  4. 'tytul' => "tytul z bazy",
  5. 'zawartosc' => "zawartosc z bazy",
  6. 'stopa' => "stopa z bazy"
  7. );
  8. ?>


Pozdrawiam
lucca
Albo ja nie rozumiem, ale nie potrafię zrozumieć;)

Mam funkcję, która zwraca mi:
$r['band'] i parę innych takich rekordów.

Mam tez system szablonów i chcę, żeby funkcja zwracała same wyniki, żeby potem móc to wstawić w różne szablony. Nie potrafię inaczej wyjaśnić:)
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.